看板 CSCamp2009 關於我們 聯絡資訊
z36884:請問一下喔,"I64d"跟"EOF"是什麼意思啊? 08/12 17:05
%I64d是windows對long long int設定的標準,正常而言要用%lld(在linux之類的) 至於EOF是(end of file)簡單來說就是輸入的東西(cin scanf)如果讀到檔尾會回傳的值。 目前我看到的都是-1。
z36884:我的做法跟上面類似,不過我用C++寫,不熟悉C,有點不懂 XD 08/12 17:12
C++繼承C, C寫的出來的 扔到C++編譯都會過, 只是C++有個叫做STL的東西可以偷懶~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.129.198
z36884:謝謝小可魚大大解惑囉,這裡果真是高手如雲阿。 08/12 23:55
TobyOoO:其實不是正常而言 是C99規範 ... 如果用DEV C++寫 因為也 08/13 00:20
TobyOoO:GCC編譯的 所以一樣要用 %lld 喔! 08/13 00:20
TobyOoO:另外像是 getchar 是用 return 的方式回傳值; 而gets 因 08/13 00:21
TobyOoO:為回傳指標, 所以到檔尾時不會回傳 EOF ,只會 NULL 喔! 08/13 00:22
yuscvscv:樓上強者 補充的好詳細(那些回傳值不一的我實在懶的打..) 08/13 01:56
yuscvscv:話說%lld在windows系統會出問題啊 即使用Dev寫也還是要 08/13 01:56
yuscvscv:用%I64d......//我自己就是用Dev寫的~~ 08/13 01:57
yuscvscv:cin cin.get cin.geline 遇到EOF 都是 0 08/13 02:52
yuscvscv:getchar 是回傳讀到的字元 EOF == -1 08/13 02:53
yuscvscv:gets好像是字串的儲存位址(就是扔進去的) EOF==NULL 08/13 02:59
yuscvscv:其他大概不常用了~~~ 08/13 02:59
s864372002:EOF=1 NULL=0 ,兩個不一樣,各函式回傳值不同 08/13 23:35
yuscvscv:我只是拿那幾個函式去實測XD 不過EOF好像是-1 08/14 03:07
TobyOoO:%lld ... 我用得很正常耶.. long long int ?? 08/14 13:56
yuscvscv:就是long long啊 有沒有加是沒差~ %lld在windows會怪怪的 08/14 14:43