課程
/后端開發
/C
/C語言入門
兩種情況
? ? for(i=1;i<=100;i++)
? ? {
? ? ? ? sum+=i*flag;
? ? ? ? flag*=(-1);? ? ??
? ? } ?
結果是-50,當sum和flag的位置對調的時候,結果又變成了50,怎么會發生這種事?
2015-02-02
源自:C語言入門 4-10
正在回答
這個你要考慮到執行順序的問題,如果你是把flag放在sum的前面的話,那么第一次循環flag就等于-1,那么sum+=1*-1還是等于-1也就是說所有的偶數都是正數而所有的奇數都是負數,所以結果為50。
在題目中是所有的偶數為負數,所有的奇數為正數,所以你的結果是不對的
少年duck的煩惱 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答a++的情況
1 回答函數調用位置
1 回答什么情況下調用外部變量
2 回答在if語句后加逗號會出現什么情況
1 回答他輸出的是b和c什么情況
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-02-03
這個你要考慮到執行順序的問題,如果你是把flag放在sum的前面的話,那么第一次循環flag就等于-1,那么sum+=1*-1還是等于-1也就是說所有的偶數都是正數而所有的奇數都是負數,所以結果為50。
在題目中是所有的偶數為負數,所有的奇數為正數,所以你的結果是不對的