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

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

sum+=i*flag;這個語句放在i++;前和后為什么會有相同的答案?


#include <stdio.h>

int main()

{

? ? /* 小伙伴們:

? ? ? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */

? ? int sum = 0; ?//定義計算結(jié)果變量sum

? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i

? ? int flag=1;//定義符號狀態(tài)變量flag

? ??

? ? //使用while循環(huán)

? ? while(i<=100)

? ? { ? ?

? ? ? ? sum+=i*flag;

? ? ? ? i++;

? ? ? ? flag*=-1;

? ? ??

? ? }

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

}


sum += i*flag; 這個語句放在i++;前我能理解。

因為第一步先執(zhí)行sum的賦值為1,。

但如果sum += i*flag; 這個語句放在i++;后,我就不能理解了。

因為i++;后不是會變成2嗎? ++在后的計算不是以;為結(jié)束嗎?

所以我認(rèn)為放在i++;后的話,

第一個sum 的賦值為:

sum=2*1=2。

菜鳥求解!


正在回答

3 回答

? ? while(i<=100)

? ? { ? ?

? ? ? ? sum+=i*flag;

? ? ? ? i++ ;?

? ? ? ? flag*=-1;

? ? }

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

? 這個我認(rèn)為才是正確的答案。結(jié)果肯定是sum=0+1-2...-100;

? ? while(i<=100)

? ? { ? ?

? ? ? ???? i++ ;?

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-1;

? ? }

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

這是題目給的標(biāo)準(zhǔn)答案,結(jié)果的確沒錯,但是輸出的應(yīng)該是sum=0+2-3。。。+100-101也是-50 。不知是否分析正確


1 回復(fù) 有任何疑惑可以回復(fù)我~

具體參考C語言運算符優(yōu)先級

0 回復(fù) 有任何疑惑可以回復(fù)我~

你的思路沒錯啊,的確是2.有什么問題嗎?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

一個想自我增值的男孩子 提問者

如果沒錯的話,不知道為什么運行的答案是一樣的。是不是因為雖然計算方法不對,但答案是一樣這個情況。
2015-09-12 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

sum+=i*flag;這個語句放在i++;前和后為什么會有相同的答案?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號