創作內容

2 GP

我所不知道的printf

作者:姆咪蛋花湯│2020-02-19 16:33:10│巴幣:4│人氣:214
剛剛在試C code,想說隨便打了一串程式碼,
大改長這樣:

int i = 0;
printf("%d %d %d\n", i++, i++, i++);
printf("%d\n", i);

大家可以想想這段程式碼跑出來會是什麼結果
====================
在底下公佈...





















電腦跑出:
2 1 0
3

我剛開始看到很訝異,跟我想的不一樣...
但想一想又好像聽過printf的特性,
printf的參數處理會由後往前,之前好像也是當耳邊風聽過就算了,
沒想到真的會遇到這樣的情況...

給大家參考(不過各位大佬們說不定都知道了QQ
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4690630
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 5 篇留言

薯條控
這個是undefined behaviorㄅ

02-19 16:43

姆咪蛋花湯
我在想那些參數會一個一個被推進堆疊
所以反而最後面會先做到 所以變成明明沒有定義這個規則 但結果還是這樣顯現 應該是這樣ㄅ(?02-19 16:46
姆咪蛋花湯
好 我發現jserv有提過...
https://hackmd.io/@sysprog/c-undefined-behavior?type=view02-19 16:48
wow
這考出來一定死一片0.0

02-19 17:13

姆咪蛋花湯
真ㄉ02-19 20:21
大雞腿
三小 都看不懂

02-19 17:47

姆咪蛋花湯
沒關係 我也不太懂QQ02-19 20:21
萬里磁鐵貓
工作寫這種你就死定了

02-19 20:16

姆咪蛋花湯
窩很怕QQ 現在都當我自己什麼都沒學過的心態來學東西02-19 20:22
廢物敗類窩囊廢漢堡
到底要怎麼樣才能吃到大雞腿?

02-19 22:05

姆咪蛋花湯
大雞腿在樓上02-20 21:44
我要留言提醒:您尚未登入,請先登入再留言

2喜歡★xjpjeass 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:鐵人鍊成... 後一篇:Chrome Music...

追蹤私訊切換新版閱覽

作品資料夾

ilove487奇幻小說連載中
《克蘇魯的黎明》0667.掉到海裡要先救誰?看更多我要大聲說昨天14:44


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】