c語言裡a 和 a有什麼不同

2021-08-21 01:39:09 字數 4502 閱讀 9983

1樓:

1,表示式的值不同,++a的值是原a的值加1,a++是原a值例1int a=1, b;

b=++a;

printf("%d",b);

例2int a=1, b;

b=a++;

printf("%d",b);

2,++a可以做左值,a++不可以

例1int a=1, b=5;

++a=b;

printf("%d",a);

例2int a=1, b=5;

a++=b;/*這裡是個編譯錯誤*/

printf("%d",a);

2樓:匿名使用者

hahugo88的回答很正確,這個意義必須掌握好哦! 我就是因為這個概念模糊考試丟了10分

3樓:

a++是先用a的值,然後使a的值加1;而++a是先使a的值加1在使用a的值!!!!

4樓:匿名使用者

也不算很難理解啊 說的通俗點

a++ 就是先把a當前的值 進行輸出或運算啥的 然後a在自增1 就是加1

++a 也就先把a當前的值自增1 然後在輸出或運算啥的

好比a的值是1

b=++a 先把a當前的值1 自增1 然後運算就是賦值給b 所以b=2 a=2

b=a++ 先把a當前的值1運算 就是賦值給b 所以b=1 然後a在自增1所以a=2

++ --是1元運算副 具有右綜合性 優先順序高過 邏輯 算術 賦值 關係等這些運算副

5樓:

呵呵 這個問題好說

#include

using namespace std;

int main()

*/return 0;}

6樓:匿名使用者

a++是a+1

++a是 a+a

7樓:匿名使用者

都是自加1

不過是先後的問題

8樓:老黃知識共享

c++語言是c語言發展起來的,所以繼承了c語言幾乎所有的特點,但c++語言又有自己的個性。c語言是一種面向過程的程式語言,而c++主要是面向過程的,因此c++有類的概念,而c語言就沒有。c++的功能強大,編譯器複雜,適合高階程式的設計和編輯,c語言的編譯器簡易,適合低端程式。

c語言中 a++和++a的具體區別是什麼

9樓:噓

a++是首先拷貝自bai己的副本,然後對真值du加一。

++a是對zhi真值加一,然後使dao用真值。

例子:版

int a=0, b, c;

b = a++;

c = ++a;

printf("b=%d, c=%d", b, c);

上述程式權

段執行結果為b=0,c=2,可以證明理論。而a++和++a本身在單獨使用時,與a=a+1是等價的。

10樓:匿名使用者

作為單bai獨的語句,a++;與++a;並沒什du麼區別zhi

但是b = a++;和b = ++a就有區別了,a++這個式子的dao返回值回是a,所以答b = a++相當於b = a,然後a = a+1;

++a的返回值是a+1;所以b = ++a相當於a = a+1;然後b = a;

11樓:匿名使用者

例子:int a=0; if(a++) if(++a)

12樓:匿名使用者

a++ 先返回a,再自加

++a 先自加,再返回a

如a=3

b=a++;//b=3

c=++a;//c=5

c語言中*a++和(*a)++有什麼不同?

13樓:澤男君

作為單獨的語句,來a++;與++a;並沒什源麼區別

但是b = a++;和b = ++a就有區別了

baia++這個式子du的返回值是

zhia,所以daob = a++相當於b = a,然後a = a+1;

++a的返回值是a+1;所以b = ++a相當於a = a+1;然後b = a;

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

c語言中a++與++a的區別是什麼?詳細一點,謝謝!

14樓:匿名使用者

a++ 是先返回a的值,再執行++運算。

++a 是先執行++運算,在返回a的值。

例如:#include

int main()

15樓:睢辰丁逸秀

a=7a++

先使用a的值,a在自增

++a先自增在使用a的值

b=a++

;//b=7

c=++a;//c=8

16樓:疲憊的龜

a++代表先取值,後運算。

++a代表先運算,後取值。

a=1;

如b = a++;

得b = 1

若b = ++a;

得b = 2

17樓:匿名使用者

乙個用了再加1,乙個先加一再用

c語言程式設計語句中的a++和++a有什麼區別,能舉個簡單例子嗎?

18樓:匿名使用者

a++是使用的

復a後,再對製a進行加1,a++是先賦值再自增.

++a是先把a加1,然後再使用a,++a是先自增在賦值。

#include

void main()

19樓:萢萢

a++是使用的a後,再對a進行加1。

++a是先把a加1,然後再使用a。版

如:int a=1;

printf("%d ", a++);

printf("%d", a);

輸出的權是1 2。

printf("%d ", ++a);

printf("%d", a);

輸出的是2 2。

20樓:ghoul荷蘭人

當 c=a++時,c是先被a賦值,再進行a=a+1

當c=++a時,先進行a=a+1,c再被a賦值

21樓:匿名使用者

a = 1;

b = a++; //b = 1 , a = 2c = ++a; //c = 3 , a = 3a++ 是先用a,在自加

++a 是先自加,在使用

c語言中a++和--a的區別

22樓:匿名使用者

an和a的區別,用法區別

23樓:興弘懿那葛

如果要列印的值是a++

如printf("%d",a++);

那列印出來的只是a的值.

但是第二次列印的a值就是回++後的值.

就是先答列印後++;

++a就是先改變a的值,再列印出來.

具體差別你可以自己試著執行比較一下.

24樓:小杉

++a a先加1,所以此時的a=9,所以輸出是9,a--是a先傳參,再減1,.所以輸出是9。要是你在後面輸出一次a,那就是輸出8了。這是乙個是先自加減,還是後加減的問題

25樓:

因為a--是先讀取a,然後列印出引號內內容,最後對a自減。

而++a是先對a自加,然後列印引號內容。

26樓:鄭木頭

第一次輸出前a自加為9;第二次輸出a後再自減

27樓:清風

a++,是先運算,自己再加1

--a,是先自減1,再運算

c語言的 a++ 和 ++a有什麼區別?

28樓:勞夏青悉能

如果要列印的值

來是a++

如printf("%d",a++);

那打源印出來的只是a的值bai.

但是第二次打du

印的a值就

zhi是++後的值.

就是先打dao印後++;

++a就是先改變a的值,再列印出來.

具體差別你可以自己試著執行比較一下.

c語言中葉子節點數和節點數有什麼不同

葉子節點 指一棵bai樹上所有終端節點,du按zhi照從上向下畫的方dao式,就是最 下面 的回節點。而節點包含答所有節點,也就是除了葉子節點外,還有根節點和中間節點。以下圖為例 葉子節點只包括c,d,e三個節點,所以這個樹的葉子節點數為3。而計算節點數要包括所有節點,即a,b,c,d,e,所以節點...

c語言中,指標問題ab和ab,有什麼不同a是指標

a b,是吧b的數值放到a指向的空間 a b,是把b的位址賦值給a 相同之處就是 a b的數值相同 不同回之處是答,上面的是數值賦值,那麼a指向的空間沒有改變而下面的賦值a指向的位址改變了,也就是a申請的記憶體空間中的數值變成了b的位址 a b 這個是把b的值賦值給指標a指向的空間 a b 這個是把...

C語言中不同資料型別的混合運算,c語言不同資料型別間的混合運算

再回來說下,你可以這樣進行檢測,看隱式轉換的問題還是溢位的問題 typedef unsigned long long uint64 最新的編譯器都支援這種用法吧,總之你找個能表示64位的longlong就行了.uint cout uint64 iu uint i endl 這裡先將i轉換成uint型...