c语言习 简单的题目

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:29:10
程序段;
int i,j m=0
for(i=1;i<=15;i+=4)
{
for(j=3;j<=19;j+=4)m++;}

printf("%d\n",m);

程序段的输出结果

请把步骤写详细~
这个你是怎么得的啊:
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
m++;

第一次i=1时候,进行for循环,j=3,j<=19,满足题意,则进行m++,m=1,同时j+=4,即j=5,继续满足j<=19,m=2,j=9;一直到j=19时候,m=5;
for循环结束,i+=4,即i=5,再重新开始j=3,一直循环,到j=19时候,m=10,i=9;
i=9,又重新开始j=3,直到j=19,m=15,i=13;
i=13时候,开始j=3,直到j=19,m=20,i=17;
由于i=17不满足i<=15的条件,则不能继续循环下去,此时m=20

汗啦。这个相当于
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
m++;
一共循环了4*5=20次。所以m等于20
这样写你就明白了吧??

当然如果你这里的i,j有其他用法可以那样写。如果没有的话,不建议。。。

汗。楼主你自己数一下就知道了么
i=1,i=5,i=9,i=13.然后跳出
j=3,j=7,j=11,j=15,j=19然后跳出。
所以就可以转成那样。其实本质是一样的!!!!!楼主着相了

里面的循环有5次,外边的循环有4次!最后输出的m 值应该是20吧!汗手机打字,修改来不及,见谅!晕

这样题目,就是两个变量不停的循环.

不过好像有个小错误...少了一个"}"..