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

为什么++num无法通过,不是应该用++num效果一样并且运算速率更快吗?

#include <stdio.h>

int main()

{

    // 定义变量sum, num

    int sum, num;  

    sum = 0;

    for(num = 0;  num<=10  ;   ++num   ) //for循环条件与num的变化值

    {

         sum+=num;    //计算每次数字之间的和sum

    }

    printf("10以内数的和为:%d", sum);

    return 0;

}


正在回答

3 回答

我用Devc++验证过了,++num是可以的,可能标准答案是num++吧,而且楼上的回复我感觉好像错了,for循环的顺序是先判断,再代方程,然后num加1的,即sum+=num中的num是上个循环结束后的num

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

送走丶悲傷 提问者

同意二楼看法
2016-02-17 回复 有任何疑惑可以回复我~
int i;
for(i=0;i<10;i++)

for(int i=0;i<10;i++)

可能是习惯的不同,我一般习惯i++。而且,我更加习惯for(int i=0;i<10;i++),而不是定义再外面,好像是局部变量和全局变量的区别?很久没看了,来复习一遍C。

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

for(num=0;num<=10;++num)    当num=9<=10时,++num,结果num=10,计算sum+=num。此时num=10<=10,继续循环,++n=11,sum+=num,此时sum为11以内的和,不符题意。

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

送走丶悲傷 提问者

你可能for语句的执行有点误区。应该是先判断键入表达式1,表达式2,执行循环语句,执行表达式3,验证表达式2,执行循环语句,这样是没有问题的,devc++上运行是对的。谢谢~
2016-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么++num无法通过,不是应该用++num效果一样并且运算速率更快吗?

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