c語言中a 和 a有什麼不同,c語言中 a a 和 a 的區別

2021-04-18 23:08:02 字數 3692 閱讀 1551

1樓:澤男君

作為單獨的語句,來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'和"a"的區別

2樓:黑馬程式設計師

『a』是 單個字元,

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

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

3樓:匿名使用者

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

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

例如:#include

int main()

4樓:睢辰丁逸秀

a=7a++

先使用a的值,a在自增

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

b=a++

;//b=7

c=++a;//c=8

5樓:疲憊的龜

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

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

a=1;

如b = a++;

得b = 1

若b = ++a;

得b = 2

6樓:匿名使用者

一個用了再加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+1和&(a+1)的區別是什麼

11樓:匿名使用者

語句中,b = *a+1 -- 指標a 指向的數值加1,*a 是數值, b 等於 那個數值 加 1。

或 把a看成陣列元素 b = a[0] + 1;

*(a+1) -- 指標 (a+1) 指向的數值b = *(a+1) -- 可以看成陣列元素 b = a[1];

12樓:匿名使用者

a是指標?是的話,&(a+1)就是a指標指向的地方+1(型別)的位置;若是指向的是陣列的話,&a+1就是增加整一個陣列的地址了。比如int b[8],*a=b,&a+1就是增加4*8=32個位元組了。

13樓:聽不清啊

c語言中,

"a"佔2個位元組,一個'a'和一個'\0'(字串結束符),它是一個字串。

'a'就只佔一個位元組,即單個字元'a',它是一個字元。

14樓:匿名使用者

c語言為了使寫法更方便,單條語句更簡短,增加了縮寫形式。

這兩種方式是一樣的,沒有任何區別。

除此之外,還有a *= 1,a %= 1,只要是操作符都可以。

15樓:我是你0爸

呃,,,樓上的各位都沒有答到本質上 從本質上講,「a」是一個指標常量,而'a'則是一個數值。也就是說,在編譯器看來,「a」的值是一個地址(比如:0x84f39ea0),而'a'的值則是a的ascii碼(即97)。

樓主用printf列印這兩個值看看就知道了 另外,當「」裡的字串有多個字元時,它指向字串的第一個字元。

16樓:匿名使用者

&a+1是a的地址加上1,&(a+1)是(a+1)的地址

&是地址運算子和引用運算子

17樓:匿名使用者

注意,後者是非法的。

18樓:匿名使用者

int b[2];

int *a;

a=b; //a指向陣列b首地址,暨b[0]的地址*a + 1 // *a就是取a指向地址的值,暨b[0],所以*a+1 == b[0]+1

*(a+1) // a+1,指標+1,就是指標指向下一個地址,暨b[1]的地址,所以*(a+1)== b[1]

19樓:燕清揚

例如a=2;

a++;輸出結果為2;但是記憶體中它的值自加1了。(先輸出a再運算)例如a=2;

++a;輸出結果為3;記憶體中也是3.(先運算a再輸出值)。

例如a=2;

a+=1;意思等同於a=a+1;

20樓:匿名使用者

取a的地址加1

取a+1的地址

21樓:認不倒你

&a+1 :a的下一個位置的指標

&(a+1): 錯誤

22樓:

事實上是一樣的

a>>=1的意思就是a>>1並賦值給a;

可能執行的效率會有錯

23樓:曉呈呈

a++ 先取值再自加

++a 先自加再取值

a+=1 等同 a=a+1

24樓:匿名使用者

這裡的a=&a[0][0];

a+1=&a[1][0],也就是過了一個a[0][1],因此是加了8個位元組

&a+1是跳過整個陣列的地址,也就是加了16位元組

25樓:匿名使用者

a是相當於a[0][n]

a+1是a[1][n]

n是幾就差n*4個位元組嘍

a就是陣列首地址地址

c語言中整數和整型有什麼不同,C語言中,整型常量和長整型常量,有什麼區別

整型bai常量就是平 時算術上寫du的沒有小數zhi點的整數,由阿拉伯數字dao1234567890組成,整型常量包括正回數答負數和0。常量是說從程式開始到結束,數值始終保持不變的量。整型變數用變數名字表示。整型變數的數值從程式開始到結束可能變化,例如運算和輸入。類似代數裡的x,y,z.所有程式語言...

c語言中和有什麼區別,C語言中的 和 有什麼區別?

和 在c語言裡是對 的註釋說明。1 是對塊的註釋說明。我是一塊的註釋說明 2 是對一行 的註釋說明。我是一行 我被註釋了 擴充套件資料 c語言主要特點 c語言是一種結構化語言,它有著清晰的層次,可按照模組的方式對程式進行編寫,十分有利於程式的除錯,且c語言的處理和表現能力都非常的強大,依靠非常全面的...

C語言中ascii碼錶有什麼用,C語言中ASCII碼值是什麼意思

計算機中,所有的資料在儲存和運算時都要使用二進位制數表示 因為計算機用高電平和低電平分別表示1和0 例如,象a b c d這樣的52個字母 包括大寫 以及0 1等數字還有一些常用的符號 例如 等 在計算機中儲存時也要使用二進位制數來表示,而具體用哪些二進位制數字表示哪個符號,當然每個人都可以約定自己...