課程
/后端開發
/C
/C語言入門
#include?<stdio.h>int?main(){ ??int?n1?=?1;??int?n2?=?2;??int?r1?=?n1?+?n2?+?(?n2?++?);??printf("r1?=?%d,?n2?=?%d?\n",?r1,?n2); ??return?0;}
2017-07-19
源自:C語言入門 3-3
正在回答
這里就涉及到a++和++a 的區別了 ,通俗的說,a++是先取值在自增一,而++a是先自增一再取新的值。代碼r1實質就是1+2+2=5,而在輸出的時候,已經是加一后的新值了,祝成功
輸出結果為:r1=6,n2=3
因為()的優先級高于"+"號,所以先進行括弧里面的運算,但由于n2++是先使用值再加一,所以此時(n2++)的值為2,當再次使用n2時,n2的值會變為3,所以r1=1+3+2=6。
慕虎4930148 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答計算過程?
2 回答具體過程不清楚
6 回答例題冒泡排序具體過程
2 回答我想要詳細的計算過程
2 回答不理解sum+=num的計算過程
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-07-19
這里就涉及到a++和++a 的區別了 ,通俗的說,a++是先取值在自增一,而++a是先自增一再取新的值。代碼r1實質就是1+2+2=5,而在輸出的時候,已經是加一后的新值了,祝成功
2017-07-19
輸出結果為:r1=6,n2=3
因為()的優先級高于"+"號,所以先進行括弧里面的運算,但由于n2++是先使用值再加一,所以此時(n2++)的值為2,當再次使用n2時,n2的值會變為3,所以r1=1+3+2=6。