Re: [問題] 有一題我解不出來(哭)

看板CSCamp2009作者 (小可魚)時間16年前 (2009/08/12 18:24), 編輯推噓2(2014)
留言16則, 4人參與, 最新討論串5/6 (看更多)

08/12 17:05,
請問一下喔,"I64d"跟"EOF"是什麼意思啊?
08/12 17:05
%I64d是windows對long long int設定的標準,正常而言要用%lld(在linux之類的) 至於EOF是(end of file)簡單來說就是輸入的東西(cin scanf)如果讀到檔尾會回傳的值。 目前我看到的都是-1。

08/12 17:12,
我的做法跟上面類似,不過我用C++寫,不熟悉C,有點不懂 XD
08/12 17:12
C++繼承C, C寫的出來的 扔到C++編譯都會過, 只是C++有個叫做STL的東西可以偷懶~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.129.198

08/12 23:55, , 1F
謝謝小可魚大大解惑囉,這裡果真是高手如雲阿。
08/12 23:55, 1F

08/13 00:20, , 2F
其實不是正常而言 是C99規範 ... 如果用DEV C++寫 因為也
08/13 00:20, 2F

08/13 00:20, , 3F
GCC編譯的 所以一樣要用 %lld 喔!
08/13 00:20, 3F

08/13 00:21, , 4F
另外像是 getchar 是用 return 的方式回傳值; 而gets 因
08/13 00:21, 4F

08/13 00:22, , 5F
為回傳指標, 所以到檔尾時不會回傳 EOF ,只會 NULL 喔!
08/13 00:22, 5F

08/13 01:56, , 6F
樓上強者 補充的好詳細(那些回傳值不一的我實在懶的打..)
08/13 01:56, 6F

08/13 01:56, , 7F
話說%lld在windows系統會出問題啊 即使用Dev寫也還是要
08/13 01:56, 7F

08/13 01:57, , 8F
用%I64d......//我自己就是用Dev寫的~~
08/13 01:57, 8F

08/13 02:52, , 9F
cin cin.get cin.geline 遇到EOF 都是 0
08/13 02:52, 9F

08/13 02:53, , 10F
getchar 是回傳讀到的字元 EOF == -1
08/13 02:53, 10F

08/13 02:59, , 11F
gets好像是字串的儲存位址(就是扔進去的) EOF==NULL
08/13 02:59, 11F

08/13 02:59, , 12F
其他大概不常用了~~~
08/13 02:59, 12F

08/13 23:35, , 13F
EOF=1 NULL=0 ,兩個不一樣,各函式回傳值不同
08/13 23:35, 13F

08/14 03:07, , 14F
我只是拿那幾個函式去實測XD 不過EOF好像是-1
08/14 03:07, 14F

08/14 13:56, , 15F
%lld ... 我用得很正常耶.. long long int ??
08/14 13:56, 15F

08/14 14:43, , 16F
就是long long啊 有沒有加是沒差~ %lld在windows會怪怪的
08/14 14:43, 16F
文章代碼(AID): #1AWfXhQg (CSCamp2009)
討論串 (同標題文章)
文章代碼(AID): #1AWfXhQg (CSCamp2009)