在C語言中「a 5 b 6 」的表示式結果為什麼是

時間 2021-12-18 21:51:37

1樓:晴空森林

我剛才在vc++下面程式設計試了一下,結果是11。

解釋如下:

b=6 這個表示式用在算式裡面,取b的值,而b=6的等號優先,所以b先被賦值,然後取b的值進行計算,就等於是 a= 5+6 結果就是11了。

vc++使用的是標準的c語言定義,所以這個應該是權威的答案。希望你能滿意。

2樓:匿名使用者

4,b=12;

第二個是a=5,b=20;

程式相當於(第二個為例)

a=1;

a++;

a++;

a++;

a++;

b=a+a+a+a;

我用類似的結構來做,如

int a=1 ,b; b=++a+(++a)+(++a)+(++a) +(++a);得到的值為a=6,b=30

所以我不知道為什麼你會得到這個結果,但我畢竟運算過了,你去看一下源程式,確定是正確的嗎?

另外,虛機團上產品**,超級便宜

3樓:

在編譯器抽風的情況下是7,以用vc編譯,答案是11= =

4樓:心青秋心

不會吧 表示式的值為11吧,a的值為11,b的值為6

5樓:

eleven seven看錯了?

c語言中 (a=2,b=5,b++,a+b)為什麼是8而不是7

6樓:庹雲霞井高

(++a,b++)這裡面是逗號表示式,也就是說只是輸出b++這個表示式,由於是字尾因此輸出的當然是-3

7樓:

如果是(a=2,b=5,a+b++)就是7了而 (a=2,b=5,b++,a+b)的話b++的值已經丟掉了,並沒有使用在計算裡,b自增1a+b已經是計算b自增過後的值,所以是8

8樓:學不會控制情緒

b++ 表示自增1,此時b=6。

c語言a=5+(b=6,c=4)怎麼計算

9樓:

這個語句有錯:後面沒有結束符分號(;)。如果所有變數都被宣告,且最後有分號的話,結果是a=9。

因為()裡是乙個逗號表示式,其值由最右邊的逗號右邊的表示式決定,這裡就是c=4;那麼a=5+4=9。

10樓:逐夢兮樂

後面是逗號表示式,括號的值是4,

最後結果是9

11樓:匿名使用者

首先括號內,逗號中從左至右依次計算各表示式,最後計算c=4時operator=(int&,const int&)返回c的引用,次值為括號內計算結果,讓後計算5+c返回乙個臨時值賦給a.

12樓:匿名使用者

a=5+4

,號運算子取最後乙個

13樓:匿名使用者

括號裡面的是逗號表示式,值為最右端的c,a=5+4;b=6;c=4.,你對比一下就知道了

14樓:太平t道人

遇到逗號,返回最後乙個表示式的值

c語言中,求解表示式a+=a++||b++中a=7,b=7為什麼啊 怎麼想的啊

15樓:tong叔

//a+=a++||b++中a=7,b=7#include

int main (void)

——屬——————————————————————在vc2010中的結果

9 7

————————————————————————

16樓:

按運算級:++ > || > +=

a++是先取數,後+1

17樓:

短路運算

bai 因為 || 是或運算 a++!=0 表達du式就會為zhi1 也就是說 a++執行完後

dao面 b++不執行了 a=8 8+1=9 所以專a=9,b=7 所以不可能兩個都是屬 7 7 不執行結果也是這樣的

在c語言中, int a=5,b; b=(++a)+(++a); 輸出後為a=7,b=14這不合常

18樓:兄弟連教育北京總校

由於逗號運算子的優先順序最低,在「表示式1,表示式2,...,表示式n,」中,逗號表示式的結果為最後乙個表示式的值,即表示式n的值。

如果語句為a=a+b,a-b;則先運算a=a+b,再運算a-b,而整個逗號表示式的值為5,即a-b的值,最後結果為a=11,b=6。

如果語句為a=(a+b,a-b);則先運算a+b,結果無意義,再運算a-b,結果賦值作為逗號表示式的結果賦值給a,最後結果為a=-1,b=6。

19樓:潛水灰飛煙滅

第一題均為字首,首先進行+1運算,即b = 7+ 7.

第二題為字尾,y=(x++,x);表示式完畢後x+1 == 6,然後x賦值於y,後面應該還有個printf的輸出語句吧,執行printf時輸出x = 6 ,y = 6

20樓:忘記

++a的運算優先順序比較高,所以先計算兩個++a,然後執行加法;第二題x++,是先右邊值賦值給y,但是會先執行括號左邊的x++,變成了6,然後再執行右邊單獨的x

在c語言程式設計中,已知a=4,b=5,c=6,執行表示式(a=5)||(b=4)||(c=3)後,a,b,c的值分別為5,5,6,為什麼

21樓:幹穰

因為用||連線的邏輯表示式,有乙個為真則全為真。(a=5)為真,所以整個邏輯表示式為真,那麼就b,c的值不變,a=5。

22樓:glance似水年華

此題應該弄明白=與==的區別,=表示賦值,==才是等於

表示式(a=5)||(b=4)||(c=3)在執行a=5時,意思是指將5賦值給a,此時a的值變為5,所以表示式值為真(非0即1);此時整個表示式的值即為真(或條件為乙個為1結果為1),因此後面兩個賦值未執行,因此a,b,c的值分別為5,5,6

23樓:徐章林

注意:括號裡的是賦值的,用||連線的,只要第乙個為true就跳出不再計算下面的了,所以執行了賦值(a=5)後就不再執行下面的了,故為 5 5 6,相同地,如果是用&&來連線的,如果第乙個是false,後面的也就不執行了。

24樓:夕噷

因為你用的是||或運算子

a=5這個表示式是真 也就是非零 1了隨後的表示式不會再執行了(可以理解為沒必要了)所以只有a的值變了 b c不變

c語言中使用佇列,C語言中使用佇列

如果你用vc,include就好了,但是注意要加上using naemspace std 我是當你用的c 的stl,stl中沒有真正的佇列和棧,他們都是通過對雙端佇列的改造得到的,所以包含的檔案可能和你想的不一樣。而且這些標頭檔案都沒有.h結尾!很特別 如果你不是vc,當我沒說 c語言木有自帶的佇列...

在C語言中fseek 的功能,在C語言中fseek 的功能

fseek 是重定位流 資料流 檔案 上的檔案內部位置指標。注意 檔案指標指向檔案 流。位置指標指向檔案內部的位元組位置,隨著檔案的讀取會移動,檔案指標如果不重新賦值將不會改變或指向別的檔案。如果執行成功,stream將指向以fromwhere為基準,偏移offset 指標偏移量 個位元組的位置,函...

C語言中的sturct用途, 在c語言中的意思

結構體。c為了更好的處理資料問題,引入了結構體的概念。具體用法你可以到網上搜下。我不廢話了。這是用來定義結構的函式 例如 struct student 在c語言中的意思 階乘指從1乘以2乘以3乘以4一直乘到所要求的數。例如所要求的數是4,則階乘式是1 2 3 4,得到的積是24,24就是4的階乘。例...

在c語言中3c是什麼意思, 在c語言中什麼意思

是c語言中的格式字元,c代表了輸出字元型別,3代表了佔位情況,3c的意思是輸出乙個佔位3的字元。式樣化規定字元,以 開端,後跟乙個或幾個規定字元,用來確定輸出內容式樣。擴充套件資料 d 十進位制有符號整數 u 十進位制無符號整數 f 浮點數 s 字串 c 單個字元 p 指標的值 e 指數形式的浮點數...

小白在c語言中一些基礎問題,小白在C語言中一些基礎問題

巨集定義是不需要分號的 define link struct link define len sizeof link int create int n 返回型別不正確,應該是link create int n c語言程式設計小白問題 首先訂正乙個錯誤,c語言可以寫像vb一樣的介面的,如果在windo...