谁可以帮我解释一下C语言这道题目

2024-12-28 21:42:08
推荐回答(5个)
回答1:

寻找最大数值
for(i=0;ifor (j=0;jif (a[i][j]>a[row][col]) //如果a[i][j]比最大数a[row][col]
(row=i;col=j;)//那么a[row][col]的下标就等于这个数的下标,这样a[row][col]在查找的数中永远最大,等数组查完之后最大值就是他了

回答2:

a[row][col] 作为临时变量,保存当前数组中的最大值。
如果有其他的值a[i][j] 比a[row][col]大,则记录i,j的值替换a[row][col] ,最终返回最大值。

回答3:

if (a[i][j]>a[row][col]) (row=i;col=j;)
这一句保存了最大值时的行号与列号到row,col中了。
所以,要填 a[row][col]

回答4:

自己画个2维数组,然后按着程序一步一步走,你就明白了。
头脑想象不出来的,要动笔算算,理解理解啊。

回答5:

因为row,col记录了最大元素所在的行和列。