C语言 为什么结果是k=0,m=5?

Python015

C语言 为什么结果是k=0,m=5?,第1张

很简单!

第一个for ,循环两次, i从0变成2。

第二个for,循环三次,j从0变到3,同时也把k从0变成3。

这个for循环每次完后由 k-=j语句又把k的值变成初值的 0,所以最终k的值还是原来的初值,即 0 。

两个for完后,i和j的值分别是2,3,所以m为5。

#include<stdio.h>#define M 5#define N 5int main(){ int a[M][N]//二维数组定义,大小:M*N int minint i,j//两个for循环将二维数组的元素读入 for(i=0i<Mi++) for(j=0j<Nj++) scanf("%d",&a[i][j])min=a[0][0]//假设第一个是最小的 for(i=0i<Mi++) for(j=0j<Nj++) min=min<a[i][j]?min:a[i][j]//找到更小的就更新min的值 printf("Min=%d\n",min)//输出结果 return 0}不知道你要的是不是这个……