在C語言中 設a 3,b 4,c 5請問大師表示式 a cb 和表示式 a cb有什麼區別該如何去求值

時間 2021-10-17 04:57:59

1樓:隨心e談

++a-c+(++b) 等價於(++a)-c+(++b)++a-c+++b 等價於 (++a)-(c++)+b結合性是盡可能地跟前面的結合;所以有 (++a)-(c++)+b先算前置的,再算表示式的,再算後置的。

(++a)-c+(++b)

a=a+1;

b=b+1;

a-c+b;這就是表示式++a-c+(++b) 的值;

(++a)-(c++)+b

a=a+1;

a-c+b;這就是表示式++a-c+++b的值,c=c+1;

2樓:手機使用者

這道題很簡單的,首先++a-c+(++b) 中++a先自加1,得a=4,然後減去 c 也就是4-5,得 -1,因為括號優先順序最高所以先計算括號裡的b的自加,得b=-3,最後 -1+(-3)得-4

第二題,我們從左到右計算就可以了,a先自加,得4,減去c(其中c是被減去後才自加的),也就是4-5,得-1,加上b,也就是

-1+(-4)最後得-5

3樓:上善若水的小倉庫

最簡單的解釋:1.自加自減優先順序比加減高。

2.對於++a的話就是先加後返回a的值,而a++的話就是先返回a,在加;3.對於第三個問題就是從左到右運算的時候當然是先考慮左邊的在考慮右邊的了,就是(c++)+b

4樓:匿名使用者

這兩個沒有區別,++i是左結合

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

陌路情感諮詢 3d說明輸出資料按三個長度的寬度顯示,如果要輸出的長度大於3時會忽略此時的域寬,以正常顯示資料 就是把所有的數字都顯示出來,域寬不起作用 如果不足3位會在資料左邊以空格補全的,使用整個資料以三個長度的域寬顯示。格式符有 d,ld,f,lf,c,如果在 d 也包括其他 中間四入數字時,說...

C語言中設int a3,0a ,請問a值是多少

你說得對,是優先於 所以可以看成是0 4,但0 任何數字結果都是0,所以最後a還是0 windy天命風流 運算子就是先判斷左邊是否非零,如果非零在判斷右邊。題目左邊為零,右邊不做運算和判斷,這種問題叫 短路 嬿暉 在計算的時候,當 運算前半部分判斷為false時,不會執行後半部分,因此 a 不執行,...

在C語言中, float 7 2的值是A 3 B 3 0 C 3 5 D以上都不是

陰靜楓丘又 你好!c float 7 2 根據運算子優先順序,應該先是 float 7,成為7.0f 2,結果3.5 如果對你有幫助,望採納。 d。自動轉化為精度最高的即double,一般保留六位小數,所以為3.500000 選d。先算7 2 3,這一步是整數除以整數 再把3轉化為浮點型,即3.00...