「C語言迷惑行為大賞」這些程式碼你絕對猜不到結果!
阿新 • • 發佈:2021-08-12
▓程式碼0:
輸出結果:
0-->10
以上特性被常見編譯器支援,但是標準中並未提到。
▓程式碼1
輸出結果:
Success
等價於:
printf("%s\n",stderr(errno));
由於你的程式碼前面並沒有執行出錯設定errno,因此errno會是0,而對應的描述資訊就是Success。
▓程式碼2:
輸出結果:
4
4
10
sizeof實際作用的物件是型別。sizeof中的表示式本身並不會被執行。
▓程式碼3
輸出結果:
C語言程式設計俱樂部C語言程式設計俱樂部C語言程式設計俱樂部
為什麼不會輸出公眾號呢?原因在於標準輸入預設是行緩衝,而標準錯誤是無緩衝。
▓ 程式碼4
輸出結果:
10
switch中的int b = 20,並不會被執行,你編譯時就會發現有警告。
▓程式碼5
輸出結果:
o
等價於:
char*str="hello 公眾號C語言俱樂部";
printf("%c\n",str[4]);
▓程式碼6
災難!,可能會崩潰
▓ 程式碼7
輸出結果:
end
原因也很簡單,sizeof(arr)/sizeof(int)的結果是unsigend, int型別的i 和unsigned比較,被轉換為一個很大的unsigned數,所以for迴圈的條件不滿足。
▓程式碼8
輸出結果:
1653732529
▓程式碼9
輸出結果:
1199094392
原因:浮點數在計算機中按照IEEE754標準儲存!
- End -
————————————
不管你是轉行也好,初學也罷,進階也可,如果你想學程式設計,進階程式設計師~
【值得關注】我的 編 程 學 習 交 流 俱 樂 部!【點選進入】
C語言入門資料(網盤連結免費分享):
C語言推薦書籍(PDF免費分享):