c語言中a和a的區別,C語言中a和a的區別

2021-03-03 20:50:53 字數 5445 閱讀 4462

1樓:匿名使用者

an和a的區別,用法區別

2樓:興弘懿那葛

如果要列印的值是a++

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

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

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

就是先答列印後++;

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

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

3樓:小杉

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

4樓:

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

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

5樓:鄭木頭

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

6樓:清風

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

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

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

7樓:噓

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是等價的。

8樓:匿名使用者

作為單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;

9樓:匿名使用者

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

10樓:匿名使用者

a++ 先返回a,再自加

++a 先自加,再返回a

如a=3

b=a++;//b=3

c=++a;//c=5

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

11樓:匿名使用者

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

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

例如:#include

int main()

12樓:睢辰丁逸秀

a=7a++

先使用a的值,a在自增

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

b=a++

;//b=7

c=++a;//c=8

13樓:疲憊的龜

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

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

a=1;

如b = a++;

得b = 1

若b = ++a;

得b = 2

14樓:匿名使用者

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

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

15樓:茆德悟旻

也不算很難理解啊

說的通俗點

a++就是先把a當前的值

進行輸出或運算啥的

然後a在自增1

就是加1

++a也就先把a當前的值自增1

然後在輸出或運算啥的

好比a的值是1

b=++a

先把a當前的值1

自增1然後運算就是賦值給b

所以b=2

a=2b=a++

先把a當前的值1運算

就是賦值給b

所以b=1

然後a在自增1所以a=2

++--是1元運算副

具有右綜合性

優先順序高過

邏輯算術

賦值關係等這些運算副

16樓:度浩麗局妙

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);

17樓:閩恨甲瑾

hahugo88的回答很正確,這個意義必須掌握好哦!

我就是因為這個概念模糊考試丟了10分

18樓:匿名使用者

*** = *a++等價於 *** =*a;a++;指標移了一位*** = (*a)++等價於*** =*a;(*a)= (*a)+1;指標沒有移位,內容加1了。

19樓:澤男君

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

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

a++這個式子的返

回值是a,所以b = 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語言最初的標準。

20樓:夜神月

優先順序 () > ++ > *

*a++ 先執行++ 再執行 * 即指標先移動乙個位置,在對移動後指標所指位置解引用取值。

(*a)++ 先執行*a 再執行++ 即先對指標所指位置解引用取值,再對這個值自增加1.

21樓:滄海雄風

*a++ 和(*a)++

區別 乙個是 指標後移 乙個是指標指向的內容自加舉例int *a, b[2]=,c;

a = b;

c=*a++ 那麼 a 指向1 則c等於2c=(*a)++ 那麼 c 等於2

過程不一樣而已

舉例子 乙個是別人讓你移動一格

乙個是你自己移動一格

22樓:

優先順序的關係自增的級別要高

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

23樓:匿名使用者

a++是使用的

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

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

#include

void main()

24樓:萢萢

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。

25樓:ghoul荷蘭人

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

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

26樓:匿名使用者

a = 1;

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

++a 是先自加,在使用

c語言中 a a'和"a"的區別

27樓:黑馬程式設計師

『a』是 單個字元,

「a」是 字串就是多個字元的集合實際上,"a" 等價於「a\0」;末尾還有字串結束符

c語言b=a++和b=(a++)的區別

28樓:哇哎西西

c語言b=a++和b=(a++)沒有區別。

這個和()沒什麼關係,注意理解a++和++a的區別:

a++: 先將a的值代入表示式,在表示式運算完畢後,再將a進行++處理。

++a: 先將a進行++處理,再將a的值代入表示式。

注意對於a++這裡有乙個「在表示式運算完畢後,再將a進行++處理」。

b=(a++); 這是乙個賦值表示式,

所以先將a的值代入表示式,必須等到賦值表示式運算完畢後,再將a進行++處理。

也就是說必須等到給b賦值完畢後,才將a進行++處理。

所以b=3,a=4

29樓:匿名使用者

這個和()沒什麼關係,我詳細的講一下,你一定要看完啊:)注意理解a++和++a的區別:

a++: 先將a的值代入表示式,在表示式運算完畢後,再將a進行++處理

++a: 先將a進行++處理,再將a的值代入表示式注意對於a++這裡有乙個「在表示式運算完畢後,再將a進行++處理」,b=(a++); 這是乙個賦值表示式,

所以先將a的值代入表示式,必須等到賦值表示式運算完畢後,再將a進行++處理,

也就是說必須等到給b賦值完畢後,才將a進行++處理所以b=3,a=4

c語言中a++與++a的區別是什麼,簡單點講

30樓:匿名使用者

a=7a++ 先使用a的值,a在自增

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

b=a++ ; //b=7

c=++a;//c=8

31樓:迷失的世界

第乙個是先運算,再自增。第二個是先自增,再運算

c語言中和的區別C語言中和的區別

區別 1.運算子性質不同。是乙個位運算子。是乙個邏輯運算子。2.作用不同。是將兩個二進位制的數逐位相與,結果是相與之後的結果。就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。3.用途限制。除了是乙個位運算子,也是取位址符。就是乙個單純的邏輯運算子,沒有任何其...

在c語言中s ii 的區別,在C語言中s i 和s i i 的區別

用生活中的數學來講就是 第一種相當於 x 1 1 第二種相當於 x y 1 y 1兩種結果一樣,第二種不過是繞了個圈子,把結果賦值過去了希望能幫到你 沒有什麼不同啊!都是將i使用之後再加一,對於陣列元素s i 和s i 是相等的。s i 只是比 s i i 寫法上簡單一點,其實功能是一樣的。沒區別 ...

c語言中的double和,C語言中的double和float

double與float的區別在於bai在記憶體中存放數du據時占用的記憶體不一樣 zhi,前者dao8位元組,後者4位元組,也就回是前者儲存的小數字數答 比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,...