慕粉3641668
2016-07-14 10:10
为什么执行代码块里面循环的时候num要写成《=10,这样最后sum=sum+num不就是num=11了么,不能理解(大哭)。。。num《=10那么num=10再往后循环不就是num++然后num=11,这是为什么啊
#include<stdio.h>
int main()
{
int num,sum;
//num=0;
sum=0;
for(num = 0;num<=10;num++)
{
sum += num;
//num++;
printf("%d %d \n",num,sum);
}
return 0;
}
你的代码是不是要实现这个?首先是要判断满足条件num<=10,执行{}里面的语句,完了之后再执行num++。当num=10 的时候,判断表达式2为真,执行代码模块, 之后再执行num++,此时num=11了,但是不满足表达式2了,进入不了循环体了,所以打印出来的执行模块里面的num是最后执行num++前的那个值,为10.
这个是先执行表达式1,表达式1满足后执行表达式2进行判断,判断通过后执行下面的循环体,执行完循环体之后执行表达式3,即进行自加1,然后再判断,满足的话执行循环体,再自加,再判断,再执行,不满足的话就跳出来了
num++虽然最后为11,但它并不满足num<=10,就不会执行循环呀,sum就只停留在0+1+.......+10啦
这样的话sum的最大值只能为10不能像上面加
C语言入门
927138 学习 · 21534 问题
相似问题