作者oohay (五黑)
看板C_and_CPP
標題Re: [問題] 面試遇到的一個問題
時間Sun Feb 3 22:07:38 2008
還有一項很有趣的測試:
#include <stdio.h>
int main() {
int z;
printf("%d\n", z + (z = 100));
z = -1;
printf("%d\n", (z++) + z);
}
/* Output:
| 200
| -2
*/
由第一個答案看來 z=100 子算式先算,而它的修改效果直接反應出來.
因此,可認定第二式的左邊z++也先算,但是,必須等statement主算式之後才生效.
C的"look-and-feel"就是如此.
所以回到那個問題: z++ + z 究竟有何混淆之處?
--
→ 鄉民A:灌C可以搞阿嬌啊?
推 鄉民B:我的Visual C++光碟哪裏去了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.114.86
→ necole236:可以按 a 然後輸入oohay 裡面就有答案了 02/03 23:01
→ oohay:很抱歉,樓上你真的沒回答到我的問題 02/04 08:42