c語言自加計算

2022-09-25 11:20:09 字數 1168 閱讀 4180

1樓:

不知道您用的是哪個編譯器,我用vs2008的答案是:最後n=48,y=13,反彙編如下:

int y=10, n;

00bc14ce mov dword ptr [y],0ah

n=(y++) +(++y)+(y++)+(++y);

00bc14d5 mov eax,dword ptr [y]

00bc14d8 add eax,1

00bc14db mov dword ptr [y],eax

00bc14de mov ecx,dword ptr [y]

00bc14e1 add ecx,1

00bc14e4 mov dword ptr [y],ecx

00bc14e7 mov edx,dword ptr [y]

00bc14ea add edx,dword ptr [y]

00bc14ed add edx,dword ptr [y]

00bc14f0 add edx,dword ptr [y]

00bc14f3 mov dword ptr [n],edx

00bc14f6 mov eax,dword ptr [y]

00bc14f9 add eax,1

00bc14fc mov dword ptr [y],eax

00bc14ff mov ecx,dword ptr [y]

00bc1502 add ecx,1

00bc1505 mov dword ptr [y],ecx

2樓:

首先,你要知道,y++是先用再自加。++y是先自加再用

所以n=10+12+12+14=48

3樓:

y++=11 (y=10)

++y=11 (y=11)

y++=12 (y=11)

++y=12 (y=12)

n=11+11+12+12=46

y=12

c語言中自增怎麼計算的,C語言中 自增怎麼計算的?

首先 優先順序大於 所以等價於 int y a a a 前置 先加1後返回值。後置 先返回值後加1。a 1 執行完後,此時a的值為1 然後a 先返回a的值,所以 a a 2 執行完後,此時a的值為2 所以 a a a 4 執行完後,此時a的值為3 y a a a 滿足左結合規則,等價於 y a a ...

c語言編輯計算,。。。。c語言。。編輯。。。計算1 1000內所有含6的數的和。。求解。求技巧

完整 給你參考 include include int main printf n n1 1000包含6的數的合為 d n sum getch return 0 借用一樓的 稍做下修改 int main void a 10 printf sum ld n sum return 0 注意是含6的數,不...

C語言計算

n的值不變,還是2 運算的特點如下 1.運算是左結合的,先計算左表示式,再計算右表示式2.注意一下,如果 的左表示式為假,則整個 表示式返回假,不會再計算右表示式!所以 表示式 m a b n c d 先計算 m a b 由於a 5,b 6,所以a b為假,返回0m a b也就變為m 0,所以左表示...