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

在num=10的时候,还是要进行num++,完了以后num=11,是不是不在执行sum=sum+num,那么在例题中的i++赋值到11后执行i<=10,输出的时候,i不是等于11吗

#include <stdio.h>
int main()
{
    // 定义变量sum, num
    int sum, num;  
    sum = 0;
    for(num = 0;num<=10;num++) //for循环条件与num的变化值
    {
        sum=sum+num;    //计算每次数字之间的和sum
    }
    printf("10以内数的和为:%d", sum);
    return 0;
}


正在回答

3 回答

https://img1.sycdn.imooc.com//5ac7307d0001c7fd05040170.jpg

上一个回答中的图片

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

例题中i=11后会判断表达式2是否成立,结果为不成立,所以结果为10

for中出现循环的部分为<!图片>

我觉得你有问题的是:例题中初始条件i=1而num=0但却都循环执行了10次~

其实把num=0改为1,执行也是正确的,你可以用可以执行C语言的软件去试试~

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

i=11的时候判断语句i<=10是否成立,如果成立继续进行循环运算,若此时输出i 的值,i是11

num=10的时候判断num<=10成立,所以执行循环体sum=sum+num;再执行num++,num=num+1,num=11,判断num<=10不成立,不继续执行循环,此时num=11。

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

唯有进步才能优秀 提问者

sum=sum+num我能明白,执行到num后不在执行加法运算直接输出sum,但是,例题i=11输出后不是应该输出写了11次computer吗
2018-01-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在num=10的时候,还是要进行num++,完了以后num=11,是不是不在执行sum=sum+num,那么在例题中的i++赋值到11后执行i<=10,输出的时候,i不是等于11吗

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