靚麗時尚館

位置:首頁 > 健康生活 > 心理

c語言中y++是啥

心理3.31W
c語言中y++是啥

++y是先將y的值加1,表示式的值為加1後的y的值

y++是表示式的值為原來的y值,然後再將y的值加1

兩個都能將y的值加1,主要區別在於表示式的值不同

例如,y=1

(1)x=++y,則y=2,x=2

(2)x=y++,則y=2,x=1

y++是先加1再賦值 就是說這條語句執行完後y=y+1

y++ 是先賦值再加1

一、運算過程不同

1、++y:運算過程為y首先進行自加運算,之後再執行y表示式。

2、y++:運算過程為先執行y表示式,之後進行自加運算。

二、記憶體過程不同

1、++y:記憶體中暫存器先自增1,之後執行y。

2、y++:記憶體中先執行y,之後暫存器增加1。

擴充套件資料

自增自減運算子存在於C/C++/C#/Java等高階語言中,它的作用是在運算結束前(前置自增自減運算子)或後(後置自增自減運算子)將變數的值加(或減)一。

相較於這些語言中的+=和-=運算子,自增運算子更加簡潔,且可以控制效果作用於運算之前還是之後,具有很大的便利性。

自增運算子 ++ 使運算元的值加1,其運算元必須為可變左值(可簡單地理解為變數)。

自減運算子--與之類似,只不過是變加為減而已。

在同一條語句中,被操作的數出現多次是可以通過編譯的,但是其在C++ Standard等語言標準中被定義為"Undefined behavior"(不確定的行為),即不同的編譯器或編譯器版本所編譯得到的機器碼可能不盡相同。

不推薦在同一條語句中使被操作的數出現多次,這不僅僅將導致程式的含義難以理解,可讀性大幅降低,同時可能導致不同的編譯器或編譯器版本得到不同的結果。

標籤:語言