當前位置:係統粉 > 電腦問答 > 其他問答 > 求助:自增問題

求助:自增問題

提問者:langjingjing10  |  瀏覽 次  |  提問時間:2017-01-15  |  回答數量:7

求助:自增問題int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; 請問這題中a=(--x==y++)?--x:++y;是怎樣執行的? 前自增與後自增有什麼不同?

已有7條答案
舊傷心傷負心傷

舊傷心傷負心傷

回答數:23  |  被采納數:134

2017-01-15 06:48:22
前後自增是要看編譯器的。
比如我的編譯器,前自增是先增加再使用,後自增是先使用再增加。

--x==y++這是一個判斷式 比較時,先x-1比較完後y+1 所以 9=9
當為真時,執行分號前麵的,為假時執行分號後麵的。這是 三元運算符的定義
所以這個時候 a = --x即 a=8
不知道你的編譯環境編譯出來的結果是什麼。
讚 2
二樓傻缺

二樓傻缺

回答數:55  |  被采納數:119

2017-01-15 09:23:08
版主,謝謝,答對了。不過前後自增不必看編譯器的吧?因為C++教材中寫明了前自增是先增加再使用,後自增是先使用再增加的。
讚 5
青春愛太真丶

青春愛太真丶

回答數:224  |  被采納數:127

2017-01-15 08:47:36
我記得C下麵就分的,隻不過很多主流的編譯器都是這樣的順序,C++沒用過。等forestfairy來回答吧。 如果是JAVA,那麼都是一致的,因為都是一個JVM
讚 22
薰衣草_凋零

薰衣草_凋零

回答數:64  |  被采納數:25

2017-01-15 18:15:42
版主,我按了F11之後,顯示的是這樣的。還有看不懂那些mov sub eax,dword ptr[evp-4]這些代碼啊。能解釋嗎?

(1)

讚 6
彩色薰衣草baby

彩色薰衣草baby

回答數:83  |  被采納數:22

2017-01-15 18:14:40
按F11,顯示反彙編,可以看到是怎麼執行的(2)
讚 8
愛不是獨旅

愛不是獨旅

回答數:146  |  被采納數:64

2017-01-15 22:46:36


點擊菜單(3)
a=(--x==y++)?--x:++y;
00401036 mov eax,dword ptr [ebp-4]//將x複製到寄存器eax
00401039 sub eax,1//eax--
0040103C mov dword ptr [ebp-4],eax//將eax複製到x
0040103F mov ecx,dword ptr [ebp-4]//將x複製到ecx
00401042 mov edx,dword ptr [ebp-8]//將y複製到edx
00401045 mov eax,dword ptr [ebp-8]//將y複製到eax
00401048 add eax,1//eax++
0040104B mov dword ptr [ebp-8],eax//將eax複製到y
0040104E cmp ecx,edx//比較ecx和edx
00401050 jne main+53h (00401063)//如果不相等則跳轉到00401063行
//以下是--x的代碼
00401052 mov ecx,dword ptr [ebp-4]//將x複製到ecx
00401055 sub ecx,1//ecx--
00401058 mov dword ptr [ebp-4],ecx//結果寫回到x
0040105B mov edx,dword ptr [ebp-4]//x複製到edx
0040105E mov dword ptr [ebp-18h],edx//再複製到a
00401061 jmp main+62h (00401072)跳轉到00401072行
//以下是--y的代碼
00401063 mov eax,dword ptr [ebp-8]
00401066 add eax,1
00401069 mov dword ptr [ebp-8],eax
0040106C mov ecx,dword ptr [ebp-8]
0040106F mov dword ptr [ebp-18h],ecx
00401072 mov edx,dword ptr [ebp-18h]
00401075 mov dword ptr [ebp-0Ch],edx
讚 14
1025251341

1025251341

回答數:131  |  被采納數:83

2017-01-15 11:33:43
謝謝,很詳細。
讚 13
解決方法
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航