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的嵌套有什么改变了? 展开
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的嵌套有什么改变了? 展开
3个回答
展开全部
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(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是一样的。
写程序时尽量写易懂的代码,养成一个好的习惯。
展开全部
就是输出循环次数。。。确实是乘积
更正一下第五步应该是执行表达式2
第三步,执行for的时候循环体又是一个for循环,所以会执行完里面的for,外面的for继续第四步,如果不满足退出条件,就开始下一次循环体。
更正一下第五步应该是执行表达式2
第三步,执行for的时候循环体又是一个for循环,所以会执行完里面的for,外面的for继续第四步,如果不满足退出条件,就开始下一次循环体。
追问
原来如此
上面是我打错了,见怪了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这么理解,因为m++语句是在变量j的for循环下的,要等j循环完在循环i,就是i=1的时候j循环5次,m++也循环5次,依次到i=15时j也循环5次,m++也是5次。所以就是4*5=20次,m++执行了20次,m就是20
追问
看起来真的挺通俗易懂的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询