亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

a++和++a的值為什么不相同呢?

無論是a++還是++a都等同于a=a+1,在表達式執行完畢后a的值都自增了1。

無論是a--還是--a都等同于a=a-1,在表達式執行完畢后a的值都自減少1。

printf(x=%d\n,x++);???????? 輸出值為100

printf(x=%d\n,++x);???????? 輸出值為102

難道不矛盾嗎?

正在回答

6 回答

#include <stdio.h>
int main()
{
??? int x = 100;
??? printf("x=%d\n",x++);
??? //這里先取值在加1!
??? printf("x=%d\n",++x);
??? // 這里加1后 又加1再取值
??? printf("x=%d\n"--x);
??? // 減1后取值
??? printf("x=%d\n",x--);
??? // 取值后減1
??? printf("x=%d\n",x+1);
??? // 減1后加1
??? return 0;
}

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

這個題目是告訴你運算方是向由右至左,也一定要有值才能運算 ,如:b++>a等同 b?>a ,++b>a等同 b+1+1>a。

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

慕碼人2016687

聽不懂
2019-11-18 回復 有任何疑惑可以回復我~

printf("x=%d\n",x++);這個輸出的是增大前的,輸出之后讓他+1

printf("x=%d\n",++x);這個是先讓他+1,再給他輸出來

a=0;a++;或++a;都是讓a+1,在分號處表示已經執行完了整個過程


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

a++是先把a的值輸出再去加一

++a是把a的值先加一在輸出

你這個例子應該是100 和101

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

a++是先賦值給a再在a上加1:++a是先在a上加1再賦值給a

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

x++是先賦值再+1;++x是先+1再賦值給x;

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

舉報

0/150
提交
取消

a++和++a的值為什么不相同呢?

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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