c語言ab0表示什麼意思C語言ab0表示什麼意思

2021-03-07 09:46:43 字數 4663 閱讀 6981

1樓:匿名使用者

首先,b++表示對b做自加運算,我們用c代替,c=b++;

然後,a+=b++ 等於 a+=c,即a=a+c,也就是說「==」之前部分是給a賦值的,我們用d代替,即d=a+c;

最後是一個邏輯判斷d==0,也就是判斷前面計算出來的a是否等於0.

這裡要注意的一個地方是b++,不是++b,也就是說在當前這一次判斷的時候b並不自加,而是在當前判斷執行完之後才自加1.

比如初始a=1, b=2,b沒有自加,a=a+b=1+2=3,那麼這句話這次是在判斷「3==0」,下次再判斷的時候b才自加變成了2,a=a+b=3+2=5,相當於在判斷「5==0」,依次類推即可。

2樓:匿名使用者

符號的優先順序是:

在這個算式中是++最高

++是2級,其次==是7級(先左後右),最後是+=是14級這裡單指加了以後的賦值(先右後左)

然後關於==我做了個小驗證,

#include

int main(void)

結果是a為0,b為3。說明在用==(等於)的時候不像=(賦值)完全改變了賦值物件的值只是單次的改變一次物件的值。

例如你的a=1,b=2

計算順序是先b做自加1操作這時b才變為3,然後做b==0,如上的小驗證,做了這個運算後不會改變b的值(這是b裡面的值還是3)只是在參加運算的時候b單次變為0,,然後做a+=b(這裡的b為0)故這時候a還為1。所以執行這個語句以後a=1,b=3。

以上只是自己個人的觀點,不一定對但還是希望能幫到你。

參考資料字元優先順序表)

3樓:中械

其實是a=a+b++==0的簡寫;從運算子的優先順序可知:++最高,+次之,==再次之,而=最低,即先進行b++運算,在進行a+(b++)運算,其次進行a+(b++)==0運算,最總吧a+(b++)==0的結果賦給a。這個可以程式設計應正。

4樓:匿名使用者

2b表示1234等很多數字。

c語言中 b++=2什麼意思

5樓:a羅網天下

b++==2在c語言中判斷b是否等於2後b自加。

在c語言中a++是首先拷貝自己的副本,然後對真值加一++a是對真值加一,然後使用真值。

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

c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。

相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。

而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)合理使用優先順序可以極大簡化表示式。

基本表示式(primary expressions),主要是用於運算子之間,做為運算數。

標識,常量,字串文字量,優先順序提升表示式最優先執行。優先順序提升表示式是指圓括號包圍的表示式,如「( expression )」

6樓:徜逸

語法錯誤。

b++的意思為b自加,即為b=b+1,b=2的意思為b賦值為2,但兩者結合錯誤。可嘗試以下寫法:

1、++b=2

意思為:b自加後將b賦值為2。

2、b++==2

意思為:判斷b是否等於2後b自加。

擴充套件資料b++和++b的區別

運算優先順序不同:++b的優先順序大於b++的優先順序。

發展歷史

c語言誕生於美國的貝爾實驗室,由d.m.ritchie以b語言為基礎發展而來,在它的主體設計完成後,thompson和ritchie用它完全重寫了unix,且隨著unix的發展,c語言也得到了不斷的完善。

為了利於c語言的全面推廣,許多專家學者和硬體廠商聯合組成了c語言標準委員會,並在之後的2023年,誕生了第一個完備的c標準,簡稱「c89」,也就是「ansi c」,目前,最新的c語言標準為2023年釋出的 「c11」。

7樓:匿名使用者

這樣不行的,b++是右值,不能放等號的左邊根據你補充的繼續回答,看以下**就一目瞭然了int b = 0;

int c = (b++ == 2);

printf("%d %d\n", b, c);

此**輸出的是1 0

意思就是,首先判斷b是否等於2,顯然不是,因此c為假 = 0,然後b++,得到1。不懂繼續追問

8樓:匿名使用者

c語言裡面沒有連續的三個運算子同時出現的情況吧

9樓:k高人

b==2//判斷是否等於2

b++==2//判斷b是否等於2,判斷完後無論是否相等,都給b加1

10樓:hello我愛娃娃

b+1=。。。直到等於2結束。

c語言中語句a+=b++是什麼意思

11樓:匿名使用者

先解釋一下 += 和 ++ 是

什麼意思+= 的意思是 左值和右值相加結果賦值給左值如 a=1;b=2;a+=b;後,a=3;b=2。++ 的意思是變數自加1,如a=1;a++;a的值是2,在c中,++有前置和後置如 ++a;a++;,單獨使用的時候是沒有區別的,都是自加1,在有運算時就有區別了,前置的++是自加後才參與運算,後置的++是參與運算後在自加1。如題的畫,假定a=1,b=2,a+=b++的意思就是b=2先參與a+=b運算a=3,然後b自加1,b=3;如果b++換成前置++b,a+=++b就是b先自加1,b=4,然後參與a+=b運算,a=4。

12樓:白蘿蔔

a+=b++要先進行a+=b的運算,然後再進行b的自運算舉例a=1,b=2,則a+=b++,有a=a+b=1+2=3,b=b+1=3.

13樓:匿名使用者

a+=b++的意思是a=a+b,然後b=b+1,就是這樣,你應該是初學c吧!!

14樓:匿名使用者

a+=b++等價於a=a+(b++) 運算時,先計算括號裡面的b++即可。 有疑問提出。 望採納

15樓:哀韶蕭貝晨

要說在c語言中這充其量只能算作是「偽**」。

在vb、pascal等程式設計語言中,<>是「不等於」的意思。

在c中,「不等於」的關係應表示為「!=」

if(a

!=b+c)

printf("a不等於b+c\n");

else

printf("a等於b+c\n");

c語言。a && b ==0 是什麼意思

16樓:匿名使用者

相當於(a ! =0) &&(b==0)

(a ! =0) (b==0)

二個是否同時成立

c語言中:a+++b是什麼意思?

17樓:湛藍水晶

就近原則,與編譯器無關,很容易記的。

相當於(a++)+b;

但是太多+號就不行了,

比如a+++++b,雖然一看就知道意思是(a++)+(++b);但是編譯就通不過,出錯資訊大概是:迷失在加號空間?

18樓:幸巴達

呵呵,不用管,結果是一樣的

都等於a+b

#include "stdafx.h"

#include "stdio.h"

int main(int argc, char* argv)結果 a=2,b=2,c=3

19樓:匿名使用者

是(a++)+b如果是a+(++b)的話答案應該是4,前者答案才是3

20樓:天曼安周聖

這是(a%b)?b:a

其中a%b

是a除以b取餘數,

若不等於0

(也就是b不整除a)就當成立,

整個式子是取b的值.

若等於0

(也就是b整除a)就當不成立,

整個式子是取a的值.

c語言中 if(!a)b++是什麼意思?

21樓:文化廚子

先看if (a) b++;

上面的語句是將a的值與0進行比較,如果a不等於0,則條件為真,則執行b++,也就是說當a的值不等於0的時候才會執行b++。

再看if (!a) b++

在c++中!是邏輯否運算子,與上面的條件判斷正好相反,即如果a的值是0,則!a=1,則執行b++,也就是說當a的值等於0的時候才會執行b++。

22樓:天災

如果a的值為假,即0,那麼b的值加1.

麻煩採納,謝謝!

23樓:落帥

如果a是0,就對b自增1. 希望能幫到你。 大笨兔 :)

c語言中 a b 1是什麼意思,c語言中 a b 1是什麼意思

相當於這樣 a a b 1 也就是先算出b 1的值,然後乘以a的值,最後賦值給a 相當於a a b 1 比如a為3,b為5 a 3 5 1 首先你要明白什麼是表示式,還有變數 a是一個變數。a a都是a加了版1.比如a原來是1,執行權了a 或 a後,a變數的值就是2了 至於a 和 a的區別主要是在表...

在c語言中,表示什麼意思, 在C語言中,表示什麼意思

樓上 說的太專業了 說的通俗一點就是 並且 的意思 與 運算子 true true true 0 1 false c語言中 是什麼意思?是與的意思 即左右兩邊都成立才成立 應該是要 左邊成立且右邊不成立才成立 00000000000000000000 的優先順序大於 所以 a b就是 a b 兩個 ...

c語言中b a是什麼意思,在C語言中「a b」是什麼意思?

不要這樣寫,這樣寫了程式不報錯,但是執行的效果不是判斷b在a和c之間,而是把a與b比較的結果 true或者false 與c進行比較。是複合運算子。這句意為b b a 注意 中間沒有空格 首先,b 表示對b做自加運算,我們用c代替,c b 然後,a b 等於 a c,即a a c,也就是說 之前部分是...