为了账号安全,请及时绑定邮箱和手机立即绑定

为什么num《=10,这样最后加上的数不是11么???

为什么执行代码块里面循环的时候num要写成《=10,这样最后sum=sum+num不就是num=11了么,不能理解(大哭)。。。num《=10那么num=10再往后循环不就是num++然后num=11,这是为什么啊

正在回答

4 回答

#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.

0 回复 有任何疑惑可以回复我~
#1

慕粉3641668 提问者

非常感谢!谢谢!
2016-07-16 回复 有任何疑惑可以回复我~

这个是先执行表达式1,表达式1满足后执行表达式2进行判断,判断通过后执行下面的循环体,执行完循环体之后执行表达式3,即进行自加1,然后再判断,满足的话执行循环体,再自加,再判断,再执行,不满足的话就跳出来了

0 回复 有任何疑惑可以回复我~

num++虽然最后为11,但它并不满足num<=10,就不会执行循环呀,sum就只停留在0+1+.......+10啦

0 回复 有任何疑惑可以回复我~

这样的话sum的最大值只能为10不能像上面加

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么num《=10,这样最后加上的数不是11么???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信