1樓:匿名使用者
答案是-2,定義時的初值沒用,後面的表示式重新賦值。
(m=1)*(n=2)返回2
m的值為1,m-=2返回-1,
m的值被賦值為-1,m+=-1,返回-2
2樓:匿名使用者
t=(m=1)*(n=2) ..............t=2,m=1
m=m+(m=m-t)............m=-1 m=2m=-2
so 表示式=-2
it*** 278697954
3樓:匿名使用者
#include
main()
最後輸出結果為8
若有以下定義int m=5,y=2;,則計算表示式y+=y-=m*=y後的y值是
4樓:匿名使用者
y值是bai-16。
從左往右分解,y+=y-=m*=y 就是
du y=y+(y-=m*=y)
y-=m*=y 就是 y=y-(m*=y)
m*=y 就是 m=m*y
那麼就等於
m=m*y; //m=10, y=2
y=y-m; //m=10, y=-8
y=y+y; //m=10, y=-16
擴充套件資料zhi
:dao
由於字尾表示式不需考慮運算子的專優先順序,因屬此計算較簡單。計算過程為:從左到右依次掃描字尾表示式,遇到運算子,則與運算子前邊連續兩個運算元做運算。
由於遇到運算元時,不能立即進行計算,因此設立一個棧(運算元棧),用於存放運算元。具體運算過程如下:
1、從左到右依次掃捕字尾表示式,每次取出一個字元;
2、若字元是運算元,則入棧;
3、若字元是運算子,則連續出棧兩個運算元,計算它們的值,然後把運算結果入棧;
4、重複步驟1~3,直至表示式結束,棧中最後一個元素即是字尾表示式的值。
5樓:匿名使用者
這種連線運算,其實很簡單的,運算順序知道了就ol!
運算順序由右向左,首先運算m*=y值為10,再執行 y-=10值為-8,最後執行y+=-8值為-16,就這麼簡單,希望能幫助你......
6樓:匿名使用者
選c,p[0]指向a[1],也就是&a[1][0],二維陣列在記憶體中的儲存方式和一維陣列一樣也是順序存放的,所以p[0]+1就是a[1][0]的下一個元素
7樓:匿名使用者
大哥的問題真是稀奇古怪。按照運算次序,先做m*=y,得到m=10,再做y-=m,得到y=-8,再做y+=y,得到y=-16。
8樓:匿名使用者
#include
using namespace std;
__int64 hash[120][100000];
int main()
C語言 已有定義int x 3,y 4,z 5則表示式
答案是1。涉及到的運算子 運算子優先順序為 運算過程 x 3,y 4,z 5 x y z 1 y z 2 3 4 5 1 4 5 2 所以表示式計算步驟為 3 4 5 1 4 5 2 7 5 1 4 5 2 7為 0 0 5 1 4 5 2 5 2 整數除整數得整數 2 0 5 1 4 2 4 6 ...
c語言 已有定義int x 3,y 4,z 5則表示式
答案是1。涉及到的運算子 運算子優先順序為 運算過程 x 3,y 4,z 5 x y z 1 y z 2 3 4 5 1 4 5 2 所以表示式計算步驟為 3 4 5 1 4 5 2 7 5 1 4 5 2 7為 0 0 5 1 4 5 2 5 2 整數除整數得整數 2 0 5 1 4 2 4 6 ...
定義 int x 3,y 4,z 5則表示式 x y z 1 y z
c語言的優先順序 從上到下依次遞減 醋 初等,4個 指向結構體成員 結構體成員 壇 單目,9個 負號 型別 指標 取地址 sizeof長度 酸 算術,5個 減味 位移,2個 灌 關係,6個 等於 不等於 味 位邏,3個 按位與 按位異或 按位或 落 邏輯,2個 邏輯與 邏輯或 跳 條件,1個,三目 ...