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

为什么在这里i++放前放后结果都一样,不是应该放在sum+=i*flag后面吗

#include <stdio.h>

int main()

{

    int i=1;

    int sum=0;

    while(i<=100)  //循环条件应该是什么呢?

    {

        sum=sum+i;

        i++;        //这里是不是应该改变循环变量的值

    }

    printf("100以内所有整数之和为:%d\n", sum);

    return 0;

}

为什么在这个程序中i++要放在后面,而在本节中,i++放前放后都一样,为什么?不是应该也放在后面吗

正在回答

4 回答

i=1;

i++;//此时运算时i=1,然后i运算完后就变成了i=i+1=2

i++是先取值再运算

所以i++放在前面和后面都没影响,因为此时你的i还是i,还没进行i+1


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

你说得对,但是他i<=100的条件在i++或者++i前面,导致如果你将i++或者++i放在sum+=i*flag前面他是从2-3+4-5....一直到+100-101,他的结果也=-50

如果将i++或者++i放在sum+=i*flag后面,他是从1-2+3-4...一直到100的,结果也是-50.

在这个问题中,他只要求了结果在-50(虽然说了要是1-2+3...到100)但估计只要结果对他这个程序就算对


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

#include <stdio.h>

int main()

{

    int i=1;

    int sum=0;

    while(i<=100)  //循环条件应该是什么呢?

    {

        sum=sum+i;

        i++;        //这里是不是应该改变循环变量的值

    }

    printf("100以内所有整数之和为:%d\n", sum);

    return 0;

}

为什么在这个程序中i++要放在后面,而在本节中,i++放前放后都一样,为什么?不是应该也放在后面吗

快来回答问题,最佳答案可 +2积分                                 什么是积分?                            

JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA
JAVA

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

不一样  sum++=i*fiag通常被用函数与被补外函数结果是不一样的

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

举报

0/150
提交
取消

为什么在这里i++放前放后结果都一样,不是应该放在sum+=i*flag后面吗

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