C语言新手看不懂下面的for语句,m++的执行次数是两个for语句次输的乘积吗?求解答

有程序段inti,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);输出结果是20.m++... 有程序段
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)m++;
printf("%d\n",m);
输出结果是20.
m++的执行次数是两个for语句次输的乘积吗?
for语句的执行是:①执行表达式1;②执行表达式2,若其值非0,执行for循环,否则退出循环;③执行for循环;④ 执行表达式3,执行②;⑤退出循环
for的嵌套有什么改变了?
展开
 我来答
zhuimengA2012
2016-08-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:45万
展开全部
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的循环体里面又是一个循环体,只有里面的循环体执行完毕,才会进行下一轮的循环。
更多追问追答
追问
确实简单多了
还有一个问题,有一个for语句
for(k=2;k<6;k++,k++);
里面“k++,k++”有什么特殊意义吗?可以用“k+=2”代替吗?
追答
用两个k++,在有的编译器里面可能会达不到你想要的效果,一般情况下跟K+=2是一样的。

写程序时尽量写易懂的代码,养成一个好的习惯。
百度网友d9fded7
2016-08-26 · 超过21用户采纳过TA的回答
知道答主
回答量:64
采纳率:60%
帮助的人:30.3万
展开全部
就是输出循环次数。。。确实是乘积

更正一下第五步应该是执行表达式2

第三步,执行for的时候循环体又是一个for循环,所以会执行完里面的for,外面的for继续第四步,如果不满足退出条件,就开始下一次循环体。
追问
原来如此
上面是我打错了,见怪了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小熊猫得小恐龙
2016-08-26
知道答主
回答量:18
采纳率:0%
帮助的人:3万
展开全部
可以这么理解,因为m++语句是在变量j的for循环下的,要等j循环完在循环i,就是i=1的时候j循环5次,m++也循环5次,依次到i=15时j也循环5次,m++也是5次。所以就是4*5=20次,m++执行了20次,m就是20
追问
看起来真的挺通俗易懂的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式