急!在线等!c语言for语句

来源:百度知道 编辑:UC知道 时间:2024/09/22 00:59:31
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int i,j,k=0,m=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)k++;
k-=j;
}m=i+j;
printf("k=%d,m=%d\n",k,m);

}问下for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k-=j;
}m=i+j;
是如何运行的!我算不出他的结果啊!帮下OK?
谢谢各位了!

你是不是忽略了k++;
for(j=0;j<3;j++)k++; 这句可以写成:
for(j=0;j<3;j++)
k++;

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;

i=0时:执行到第二个for循环时执行了三次k++,所以k=3,第三次跳出循环执行k-=j,k=3-3=0;
i=1时:也一样,最后k=0,执行后i++,变为2,
所以m=i+j=2+3=5;
最后就为 k=0,m=5

k=0,m=2+3=5啊。有什么问题吗?
第二个循环直接循环的k++,然后又执行K-=J,所以K=0啊。最后I=2跳出循环,J=3跳出循环

外循环先执行,当i=0时,j=0时,则k++=1,k-=j=1.当j=1时,k++=2,k-=j=1.当j=2时,k++=2,k-=j=0,j++=3,跳出循环再次执行外循环即i=1,重复上述内循环输出,i++=2.k=0,m=5.