gcc - Linux下C語言的一道經典面試題
巴扎黑
巴扎黑 2017-06-26 10:59:11
0
2
967

如果在Linux下使用GCC編譯器執行下列程序,輸出結果為何?

#include<stdio.h>
int main(){
    int a=5;
    printf("%d %d %d",a++,a++,++a);
    return 0;
}

答案如下:

In LINUX GCC compiler
7 6 8
In TURBO C
7 6 6

我可以理解7 6 6的答案,但我實在無法理解為什麼LINUX GCC compiler的輸出是7 6 8。雖然知道這屬於undefiend behavior,但還是想知道為什麼有7 6 8的結果出現。
原問題出處:Linux下C語言的幾道經典面試題

巴扎黑
巴扎黑

全部回覆(2)
学习ing

http://blog.csdn.net/laojiu_/...

習慣沉默

其實是因為這是規格裡沒有的未定義行為,所以編譯器怎麼算都是對的,編譯器得到的結果不統一也是正確的。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!