c語言中,a 8,表示式a a a 3這個怎麼算請給我步

2021-05-01 18:58:13 字數 708 閱讀 3131

1樓:匿名使用者

需要考慮運算表示式的優先順序,

首先+=和%=都是先從右邊算起的,而最右邊a%3等於8對3求餘數,為2

然後,考慮等式a+=a%=2,同樣先從右邊算起,a%=2後得到的值為8除以2的餘數,為0

最後a+=0,顯然,結果為8

2樓:

等效於:

int tmp;

tmp=a%3; //tmp=2

a=a%tmp; //a=0

a=a+a; //a=0

3樓:

+=,%=都為複合運算子。

先算a%3,a%3的意思是a對3取餘,得到一個結果。

a%3=a%3的意思是a=a對(a%3)的結果取餘,得到一個結果並賦值給a。

a+=a%=a%3的意思是a=a+(a%3=a%3)的結果,就得到了a 的值。

注意:在這個過程中a 值得變化。

擴充套件資料:複合賦值運算子有下列這些:

+= 加法賦值

-= 減法賦值

*= 乘法賦值

/= 除法賦值

%= 模運算賦值

<<= 左移賦值

>>= 右移賦值

&= 位邏輯與賦值

|= 位邏輯或賦值

^= 位邏輯異或賦值

C語言表示式105的值是C語言中表示式105的值是?

是1。根據c語言運算規則,檢查左運算元的值是否小於右運算元的值,如果是則條件為真。1 0 5是先執行1 0 false 結果為0,再執行0 5 true 因此結果為1。如下 表示式的值為1 根據運算子表,是從左往右結合的。先看1 0是假,返回0。原式就變成 0 5,是真,返回1 所以結果就是 1。擴...

c語言中while()表示式的疑問

你可以避開0啊,用其他數字代替。或者while x 0 0 100是真。非0即真。表示式為真也是真,如x 4,y 6,x y則是假。這個很簡單,例如定義一個變數int a 然後判斷當a為0時才進入迴圈如下 while a 0 這樣當a為0時就執行迴圈了,因為當a為0時,while 中表示式的邏輯運算...

C語言中表示式135值,c語言程式是求表示式的值s

有一個優先bai 級的問題 du,注意單雙目 運算子的優先順序zhi,雙目運算子dao除賦值回運算子都為自答左向右結合.運算子.與 相比 大於 與 相比 大於 運算子的運算是自左向右.1 3 5,因為 1 3為真,值為1 1 5為假,值為0 故表示式 1 3 5值為0 1 3為真,值為1 1 5為假...