c语言的问题求一个矩阵里头的最大值,并输出行号和列号程序如下:main()

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:33:18
{int i,j,r=0,c=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];
r=i;
c=j;
}这样求出的maxij的值都对j=1如果程序改成
for(i=0;i<=2;i++)
{for(j=0;j<=3;j++)
{if (a[i][j]>max)
max=a[i][j];
r=i;
c=j
}
}这样求出的j=3为何会这样呢?

程序我帮你运行过了,没问题的.

for(i=0;i<=2;i++) {
for(j=0;j<=3;j++) {
if (a[i][j]>max)
max=a[i][j];
r=i;
c=j //注意这里少了个分号
}
}

第二种写法c=j不在if的范围之内,在第二个for的循环体中,所以每次内循环都执行了c=j