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

来源:4-8 循环结构之for循环(一)

慕粉3641668

2016-07-14 10:10

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

写回答 关注

4回答

  • 淡褐色双瞳
    2016-07-14 11:27:59
    已采纳

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

    慕粉3641...

    非常感谢!谢谢!

    2016-07-16 12:49:41

    共 1 条回复 >

  • qq_多多小子_03649827
    2016-07-14 14:09:04

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

  • 酸甜果汁分你一半
    2016-07-14 12:48:54

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

  • 慕哥5847860
    2016-07-14 11:28:41

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

927138 学习 · 21534 问题

查看课程

相似问题