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

我看了参考代码,但是为什么我觉得它是计算的2-3+4-5+6.....+100-101?我插了一句输出i,是从2开始的

#include <stdio.h>

int main()

{

    int sum = 0;  

    int i = 1;    

    int flag = 1;


    while(i<=100)

    {

        i++;

        printf("%d\n",i);

        sum+=i*flag;

        flag*=-1;

    }


正在回答

4 回答

你说得对,但是他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 回复 有任何疑惑可以回复我~

我也这么觉得

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

i++  是先取值再自增

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

哦阿达

可是++i也显示是对的
2022-01-13 回复 有任何疑惑可以回复我~

 i++;放到最下面


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

举报

0/150
提交
取消

我看了参考代码,但是为什么我觉得它是计算的2-3+4-5+6.....+100-101?我插了一句输出i,是从2开始的

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