C語言運算問題

2022-07-16 03:05:03 字數 753 閱讀 2598

1樓:daisy妮

(4)對於a/=a+a,化解:a=a/(a+a) 得a=0 因為a是int型,所以要對a=12/24取整;

(5)a%=(n%=2),化解: 首先a=a%(n%=2) 然後a=a%(n=n%2) 得a=0 因為n=5 n=5%2=1 a=12%1=0 12可以對1整除所以取余為0;

(6)a+=a-=a*=a 化解:首先a=a+(a-=a*=a) 然後a=a+(a=a-(a*=a))

繼續 a=a+(a=a-(a=a*a)) 計算得a=0 原因是:a=a*a=144 這時把144賦值給a了,a=a-(a=a*a)這一步裡,a=144-144=0,把0賦值給a,a=a+(a=a-(a=a*a))=0+0=0.

這幾個題要注意一下括號的優先順序,還有主要是表示式的化解問題,有什麼不懂的再問我吧。。

2樓:匿名使用者

4:a=a/(a+a)=0

5:a=a%(n=n%2)

n%2=1

a%1=0

所以答案0

6:從左往右運算 a+=a a=24

a-=a a=0

a*=a a=0

3樓:

4, a=a/(a+a) a=24/24 a = 05,a=a%(5%2) a = 1%1 a=06, a=a+(a-a*a) a=0 + (12*12 - 12*12) a= 0

從後往前看,乙個=號就變一次a的值

C語言中關於左移運算問題,c語言中關於左移運算子的問題

a沒有變啊,b a 3的意思是把a左移後的結果賦值給b 就像 b a 3 b的值是a 3但是a本身沒有加3的!a 3 不會改變 a 的值。c中只有 運算子會改變變數的值,其他不會 之類不算 左移運算子不是 運算子,本身是不會改變的呀。c語言中關於左移 運算子的問題 原因 第乙個k 1只是表示k左移一...

c語言移位運算

右移對符號位的處理和左移不同,對於有符號整數來說,比如int型別,右移會保持符號位不變,例如 10100110 5 假設字長為8位 則得到的是 11111101。總之,在c中,左移是邏輯 算術左移 兩者完全相同 右移是算術右移,會保持符號位不變.實際應用中可以根據情況用左 右移做快速的乘 除運算,這...

在c語言中移位運算子,C語言中移位運算

沒有你想要的運算子,可以用下面的方法實現 到底是 1000 還是 100 可以用 位數算出來5696 1000 696 696 100 96 a 1 a左移1位等效於a a 2a 2 a左移2位等效於a a 2的2次方 4 a 3 a左移1位等效於a a 2的3次方 8 計算機內程式設計只識別1和0...