第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪位大神看看,為什么i++; sum+=flag*i;這兩個順序不一樣,結果卻一樣?難道程序不是按步驟一步步來的嗎?

#include <stdio.h>

int main()

{? ??

? ? int sum = 0;??

? ? int i = 1;? ??

? ? int flag = 1;?

? ? while(i<=100)

? ?{? ?

? ?i++;

? ? ? ?sum+=flag*i;? ? ??

? ? ? ?flag*=-1;

? ?}

? ? printf("sum=%d\n",sum);?

? ? return 0;? ??

}


正在回答

3 回答

i++在后面的情況是從? 1執(zhí)行執(zhí)行到100結束,最后一個數(shù)字是-100結果是-50。當i++在前面(如你寫的代碼),這種情況是從2執(zhí)行,執(zhí)行到101,最后一個數(shù)字是-101結果也是-50。第一種情況的最后一次是執(zhí)行完了sum+=-100? , i++就是100+1=101,然后再進入循環(huán)判斷101<=100,然后語句結束,第二種情況是最后一次進入判斷的是i=100,while(100<=100) 進入循環(huán)體 i++就是 100+1=101,sum+=-101, 這時候才算結束。這樣兩次的結果就都是-50了。不知道我這樣說是否明白。

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

慕雪4536758 提問者

非常謝謝
2020-02-27 回復 有任何疑惑可以回復我~
#2

weixin_慕斯3464934

我不明白。。。
2020-03-07 回復 有任何疑惑可以回復我~

我不明白。。。求指教。

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

同學你得先理解i++

正是因為i++時i首先仍取原值

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

舉報

0/150
提交
取消

哪位大神看看,為什么i++; sum+=flag*i;這兩個順序不一樣,結果卻一樣?難道程序不是按步驟一步步來的嗎?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號