請問c語言中 a和a 的區別是什麼,不用告訴我是先加後用和先用後加我知道這個請舉個例子

2021-03-28 00:07:25 字數 5192 閱讀 1044

1樓:匿名使用者

/*這個例子主要是考慮到a++和++a的儲存問題;

我們知道,對於a++是先將a給表示式再++;

那麼這就是需要乙個tmp空間來儲存++之前的a!!!但是對於++a是不需要的,因為先執行++,那麼就是直接改a空間內容就好了!

那麼我們下面的問題就是這樣!

*/#include

int main()

2樓:匿名使用者

舉個列子

int a = 2;

int b;

第一種情況b = a++; 那麼這個b是等於2的,而a最後等於3,也就是a的值2先賦給b,然後a再++等於3

第二種情況b = ++a; 那麼 這個b等於3,a也是3,這個運算順序就是,先++a,a=3了,然後b=a,b也是3

3樓:匿名使用者

++a和a++在單一語句中沒有任何區別,是等效的:

++a;

a++;

效果上一致,都是a增加了1。

在復合語句中,就是先加後用和先用後加的區別:

int a;

a = 1;

int i = ++a; //i為2,因為a先變成了2再賦值a = 1;

int j = a++; //j為1,因為a先賦值給了j,再變成了2

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

4樓:匿名使用者

a++是使用的

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

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

#include

void main()

5樓:萢萢

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。

6樓:ghoul荷蘭人

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

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

7樓:匿名使用者

a = 1;

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

++a 是先自加,在使用

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

8樓:匿名使用者

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

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

例如:#include

int main()

9樓:睢辰丁逸秀

a=7a++

先使用a的值,a在自增

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

b=a++

;//b=7

c=++a;//c=8

10樓:疲憊的龜

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

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

a=1;

如b = a++;

得b = 1

若b = ++a;

得b = 2

11樓:匿名使用者

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

請問c語言裡for迴圈使用a++和++a的區別?

12樓:潯陽帝

一般情況下,

bai++a是先加再執行du操zhi作,而a++是先執行操作dao在加1。但在for迴圈內裡面

for(int i=0;i<10;i++)先進行i<10的判容

斷,如果符合就執行for裡面的**,執行完再執行分號後面的語句i++或++i,所以在for迴圈這個位置的i++和++i是沒有區別的

13樓:小花朵

a++和++a的區別在於:如果是表示式的一部分的話,那麼+1的順序會影響到結果版如

int a=1;

int b=1+a++;

則b=2;a=2

而int b=++a+1;

則b=3;a=2;

如果表示式就是乙個簡單權的a++或++a;那是一樣的寫成while迴圈和第乙個是一樣的,因為++不影響,它不在表示式裡while(a<5)

14樓:匿名使用者

a[tot++]-=1 是a[tot]-1後tot++,則a[++tot]-=1恰恰相反

15樓:

如果開始的時候a是2。

i=a++,那麼i是2。

i=++a,那麼i是3。

區別是在什麼時候加1。如果不再給其它變數賦值的話結果等價。

給的這個例子,++a和a++結果是一樣的。

16樓:匿名使用者

你的**中沒有區別

a++和++a的區別是先運算後增和先增後運算

17樓:龍婷妹妹

在你所寫的兩段**中,a++和++a是沒有區別的,都等價於a=a+1。

18樓:匿名使用者

int a=0;

while(a<5)

for(a=0;a<5;++a)

sum=sum+a; //這時a=1了, ++a就是先給a加1,然後再執行後面的語句

其實for與while我認為就是一種迴圈,只不過寫法不同罷了,完全可以寫成這樣:

int a = 0;

while(a<5)

19樓:匿名使用者

這個例子不足以說明問題

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

20樓:匿名使用者

an和a的區別,用法區別

21樓:興弘懿那葛

如果要列印的值是a++

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

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

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

就是先答列印後++;

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

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

22樓:小杉

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

23樓:

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

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

24樓:鄭木頭

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

25樓:清風

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

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

c++中(++a)和(a++)有什麼區別?

26樓:匿名使用者

你可以這樣來想:++a和a++,都是個表示式,最後的結果就取決於是先加,還是後加,如果是先加,那麼最後的表示式的結果就是a的值加1,如果是後加的話,則表示式的值就是原來a的值;而無論是先加,還是後加,a的值計算後一定會加1。

比如:如果a=1,b=a++,運算完b=1,a=2

如果a=1,b=++a,運算完b=2,a=2

當然也可以這麼理解:

a++就是a=a+1,其含義就是現將後面的a賦值給前面的a然後再加1.

++a就是a=1+a,其含義就是先對後面的a加1然後再賦值給前面的1.

但這只是在表示式中.

如果在單獨的語句中二者都沒有什麼區別!

列:int a=1,b=1;

a++;++b;//這裡就是語句!

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

輸出都是2.

而表示式則是if((a++)==1)和if((++a)==1)這裡就有區別了!

呵呵,謝謝.

27樓:邱全於駿英

一般來說他們的區別在於混合表示式中運算子的處理順序。

a++是先處理其他運算,然後a再自加;

而++a則是先處理a自加運算,再處理其他表示式運算;

如果只是單純的表示式a++;或者是++a;這兩個表示式的結果就沒什麼區別。

譬如是#include

using

namespace

std;

void

main()

計算的結果是a=2,b=1,c=2

c=++a是表示式先處理自加運算後處理賦值運算;

b=a++是表示式先處理賦值運算後處理自加運算;

28樓:開萱由琬

對於a這一變數本身而言,效果等同為自增1,比如a++;和++a;是等價的。但要是說如下語句:

inta=1;

printf("&d",++a);和printf("&d",a++);的結果不同,前者為2,後者為1;

即++a是先自增後使用,a++是先使用後自增。

還希望能讓您滿意

29樓:匿名使用者

an和a的區別,用法區別

30樓:匿名使用者

例如n,在執行++a時,先變成n+1,然後再執行程式,執行完一邊程式後變成n+2再執行,依次迴圈。

n在執行a++時,先執行一遍程式,然後變成n+1再執行,依次迴圈。

也就是說++a表示先增加,然後執行;a++表示先執行後再增加。

這樣說也不知道你是否能懂,呵呵。

31樓:瑪利亞燕

(++a)是先加後用

(a++)是先用後加

例如:a=2,b=a++:則b=2,a=3;

a=2,b=++a ,則b=a=3

32樓:七個字是最長的

+在前就是先讓a=a+1,然後使用a的值

+在後就是先使用a的值,然後讓a=a+1

簡單好記

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

an和a的區別,用法區別 如果要列印的值是a 如printf d a 那列印出來的只是a的值.但是第二次列印的a值就是回 後的值.就是先答列印後 a就是先改變a的值,再列印出來.具體差別你可以自己試著執行比較一下.a a先加1,所以此時的a 9,所以輸出是9,a 是a先傳參,再減1,所以輸出是9。要...

c語言中啥意思,C語言中 , , , 分別是什麼意思

詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成乙個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷一件事情是 對 的還是 錯 的,或者說是 成立 還是...

在C語言中0與0的區別是,C語言中的0與 0 有什麼區別?

他們是常量中不同的資料型別呀 0是整型常量,佔記憶體兩個位元組 0 是字元常量,佔記憶體乙個位元組 只是 0 在電腦中用電腦語言所代表的數值和0是相同的 字串常量和字元常量是不同的量。它們之間主要有以下區別 1 字元常量回由單引號括起來,字元答串常量由雙引號括起來。2 字元常量只能是單個字元,字串常...