當前位置:首頁 » 編程語言 » c語言怎麼自加運算符
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼自加運算符

發布時間: 2023-06-19 01:15:29

⑴ 誰能詳細的講一下c語言中的自加自減運算符:++、--

a=1,b=a++ b的值為1,a的值為2
a=1,b=++a b的值為2,a的值為2
a=1,b=a-- b的值為1,a的值為0
a=1,b=--a b的值為0,a的值為0

⑵ C語言自加符號

C語言中區分前自增與後自增,它們都有副作用,尤其是後自增。
前自增可能更好一點,它不產生臨時變數,效率更高一些。
++y相當於:y=y+1;在變數的使用之前先自增。
y++相當於:y; 其它語句... y=y+1;也就是使用它時,它的值不變,在其使用之後的某一時刻但在再次使用它前其值加一。而且不同的編譯器不一定有一致的實現行為。

a=(y++)+(y++)+(y++) 這是一條語句,通常的編譯器實現會將此語句一次性掃描完成。這種情況下,y++會保持其值不變,此語句完成後,將y的值遞增3次。

⑶ C語言自加運算

自加和自減運算分前置和後置,前置就像++m,後置就是像m++;在簡單語句中沒有區別,例如++m(++m);
......;
......;
在復雜語句中就有區別了,前置會先自加或自減,然後將結果賦給一個變數或者顯示出來,就如你給的例子printf("%d %d \n",++m,n++),先將m執行一次自加後再顯示出來,結果就是13了。
後置會先將原先的值賦給一個變數或者顯示出來,再將原先的變數執行一次自加或自減,就如你給的例子printf("%d %d \n",++m,n++),先取n的值顯示,即32,再執行自加得到33
下面的指令是建立在上個指令基礎上執行的,上個指令執行後的結果是m=13,n=33
那麼printf("%d %d \n",m++,++n)指令的輸出的結果是13 34了。這個指令執行後m=14 n=34

⑷ C語言自增運算

++是自增運算符,++k或k++都是讓變數k的值加1;- -是自減運算符,- -k或k- -都是讓變數k減1。運算符位於操作數之前,稱為前置運算符;運算符位於操作數之後,稱為後置運算符。
這兩種運算符的差異是:前置運算符是對變數先遞增(遞減),然後參與其他運算,即先改變變數的值後使用;後置運算符則是變數先參與其他運算,後對變數遞增(遞減),即先使用後改變。
比如:int a=9;
b=a++;(b=9;a=10)
b=++a;(b=10;a=10)
對於你的這道題來說,++i和i++都是一樣的;因為都是改變i的值。
還有,printf("%d\n",sum)少寫了一個「;」,應該是printf("%d\n",sum);
希望對你有所幫助!

⑸ C語言的自加自減運算符

這兩個都是未定義行為,因為(y++)+(y++)+(y++)裡面沒有順序點,所以你無法保證執行完第一個y++之後,y的值是否增加了,如果增加了,那麼第二個y++就會是6。
只有順序點才能確定一個副作用被實現,在這里,副作用就是確保y++之後,y加1。
下面的那個++y亦是同理。

至於什麼是順序點,可以參考這個:
C/C++語言定義(語言的參考手冊)明確定義了順序點的概念。順序點位於:
1. 每個完整表達式結束時。完整表達式包括變數初始化表達式,表達式語句,return語句的表達式,以及條件、循環和switch語句的控製表達式(for頭部有三個控製表達式);
2. 運算符 &&、||、?: 和逗號運算符的第一個運算對象計算之後;
3. 函數調用中對所有實際參數和函數名表達式(需要調用的函數也可能通過表達式描述)的求值完成之後(進入函數體之前)。

⑹ c語言自加運算符

如果printf("%d",a++);那麼結果就是五,a++單獨成一個語句時,效果等同於:a=a+1;和++a;
你也是初學者?用電腦加我為好友,以後互相交流…我為了弄懂這個也問倒幾個高手,不是難倒,是煩倒…因為我要問個一清二楚!Q960575562

⑺ 關於c語言的自加自減運算

具體分析:
首先須知: a++ 就是a先做其他運算,再做自加運算比如 a++*b a與b相乘5*8=40 然後a自加=6
++a 是a先做自加運算,再做其他運算,比如 ++a*b a先加得到7=6+1,然後再與b相乘,7*8=56
a--和--a也是同理。
然後自減的情況 a*b=7*8=56 然後a自減 7-1=6
然後a先自減 a=6-1=5 然後與b相乘 a*b=5*8=40
不知說明白嗎?
樓主須區分優先順序和自加減的情況,自加減的優先順序和單目運算相同。
其次,自加減操作情況有時不同,如題所見,須特別分析。
最後,自加減的情況一般很少參與運算,比如 d=++a+a++ 不太出現似乎。

⑻ 關於c語言左右自增運算

C語言的前置++和後置++,稱為自增運算符
如果單獨寫 自增運算符為一個語句,二者沒有區別
++i; 和 i++; 都是讓i+1賦值給i
但是如果把自增運算符寫入到另外表達式中二者就有很大區別了。

例如
1、
i=5;
j=i++;此處表達式等價於「j=i;i=i+1;」兩條表達式。
執行後i為6,j為5
2、
i=5;
j=++i;此處表達式等價於「i=i+1;j=i;」兩條表達式。
執行後i為6,j為6
註:通過上述例子,可以看出運算順序產生了區別,導致了輸出結果產生不同。