写出下面程序的运行结果( )

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:25:55
#define N 10
main()
{int i,j,m[N];
for(i=0;i<N;i++)m[i]=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
m[j]=m[i]+1;
printf("%d",m[N-1]);
}
谢谢啊过程!

这两个for循环分解开就好理解了
for(i=0; i<N; i++)
for(j=0; j<N; j++)
m[j]=m[i]+1;
分解如下:
当i=0时,执行for(j=0; j<N; j++) m[j]=m[i]+1; 后
m[0]=1,m[1]=2,...m[9]=9;
当i=1时,执行for(j=0; j<N; j++) m[j]=m[i]+1; 后
m[0]=1+2,m[1]=2+2,...m[9]=9+2;
当i=3时,执行for(j=0; j<N; j++) m[j]=m[i]+1; 后
m[0]=1+4,m[1]=2+4,...m[9]=9+4;

当i=9时,执行for(j=0; j<N; j++) m[j]=m[i]+1; 后
m[0]=1+10,m[1]=2+10,...m[9]=9+10;

所以最后m[N-1]=m[9]=19

楼是那位

当i=0时,执行for(j=0; j<N; j++) m[j]=m[i]+1; 后
m[0]=1,m[1]=2,...m[9]=9;
不对吧
他执行m[j]=m[i]+1
i一直等到0呀 所以一直执行m[j]=m[0]+1呀
m[0]=1,m[1]=2,...m[9]=2吧
所以最后m[N-1]=m[9]=11呀
你认为呢???????????????????????

19