当前位置:编程学习 > C/C++ >>

c语言问题 帮忙看看 谢谢了

编写MaxRow函数 求3*3数组每行最大值和对角线上最大值。我的哪里错了呢?谢谢 #include<stdio.h> void main() { int *MaxRow(int(*)[3],int*); int a[3][3],i,j,*b,c[4]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",*(a+i)+j); b=MaxRow(a,c); for(i=0;i<4;i++) printf("%5d",*(b+i)); } int *MaxRow(int(*p)[3],int*pc) { int i,j; for(i=0;i<3;i++) { *pc=**(p+i); for(j=0;j<3;j++) if(*pc<*(*(p+i)+j)) *pc=*(*(p+i)+j); pc++; } *pc=**p; for(i=0;i<3;i++) if(*pc<*(*(p+i)+i)) *pc=*(*(p+i)+i); return(pc); }
答案:b=MaxRow(a,c);//返回的地址是在c的地址上进行过自增的
	for(i=0;i<4;i++)
		printf("%5d",*(b+i));//printf("%5d",*(c+i));

上一个:C语言——指针。
下一个:C语言问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,