输入的有错么

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:20:12
main()
{int i,j,row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,5,2}}
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{max=a[i][j];
row=i;
colum=j;}
printf("%d %d %d",max,row,colum);}

另外{max=a[i][j];
row=i;
colum=j;}中的{}可否去掉呢??
去掉之后结果一样么
哦那是不是改成row=a[i]就对了呢

当然不能去掉,去掉后max值是正确的,但是下标就不对了,row是3,colum是4

if(a[i][j]>max) 后只执行了max=a[i][j]; 加了{}才能把最大值的下标记录下来.

不用改成row=a[i], row=i; 和colum=j;是对的,我是说花括号不要去掉.

去了花括号是等循环for(i=0;i<=2;i++) {},结束以后,再执行row=i; 和

colum=j;然而此时的i,和j不是MAX的i和j 了.照你的程序row和colum应该是2和1,max是10

可以

不是 3 4 而是 row=2 colum 3, 因为 循环结束 i 和 j 分别 为2 ,3