gcc - Linux下C語言的一道經典面試題
如果在Linux下使用GCC編譯器執行下列程序,輸出結果為何?
1 2 3 4 5 6 | <code># include <stdio.h>
int main(){
int a=5;
printf( "%d %d %d" ,a++,a++,++a);
return 0;
}</code>
|
答案如下:
1 2 3 4 | <code>In LINUX GCC compiler
7 6 8
In TURBO C
7 6 6</code>
|
我可以理解7 6 6
的答案,但我實在無法理解為什麼LINUX GCC compiler的輸出是7 6 8
。雖然知道這屬於undefiend behavior
,但還是想知道為什麼有7 6 8
的結果出現。
原問題出處:Linux下C語言的幾道經典面試題