Re: [問題] 只允許輸入數字,非輸入數字會迴圈請你 …

看板C_and_CPP (C/C++)作者 (Tangent)時間15年前 (2011/07/08 12:27), 編輯推噓6(6016)
留言22則, 7人參與, 最新討論串4/4 (看更多)
剛剛看了一下string.h C寫法: #include<stdio.h> #include<string.h> int main(void){ char s[12]; int num; while(fgets(s,sizeof(s),stdin)){ char *p; if(p=strchr(s,'\n')) *p='\0'; else while(getchar()!='\n'); if(strspn(s,"0123456789")!=strlen(s)) continue; sscanf(s,"%d",&num); } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.129.15

07/08 12:41, , 1F
這和上一篇/原po要求似乎有點出入:123abc 不輸出 ?
07/08 12:41, 1F
※ 編輯: firejox 來自: 123.240.129.15 (07/08 12:44)

07/08 12:45, , 2F
以更正
07/08 12:45, 2F

07/08 12:46, , 3F
firejox 真強者啊 !!
07/08 12:46, 3F

07/08 13:08, , 4F
(worship)
07/08 13:08, 4F

07/08 13:43, , 5F
沒有啦 只是先用man str<tab>先看一下有哪些現成的可以用
07/08 13:43, 5F

07/08 13:44, , 6F
與t大相比 我還很弱小呀
07/08 13:44, 6F

07/08 14:06, , 7F
我看到兩個強者再互推.
07/08 14:06, 7F

07/08 14:10, , 8F
我看到兩個強者在互推.
07/08 14:10, 8F

07/08 16:08, , 9F
我看到兩個強者再互推.
07/08 16:08, 9F

07/08 20:20, , 10F
我看到兩個強者在互推.
07/08 20:20, 10F

07/08 20:32, , 11F
一開始 EOF 程式就不會結束了... 還是說本來就要這樣 xDDD
07/08 20:32, 11F

07/08 20:50, , 12F
不會結束? 一開始EOF也會結束吧 = =
07/08 20:50, 12F

07/08 20:54, , 13F
@Favonia:http://0rz.tw/ITHiJ EOF: return NULL
07/08 20:54, 13F

07/08 21:07, , 14F
縮失敗,補上: http://0rz.tw/ITHiJ , 網頁上應說明了,
07/08 21:07, 14F

07/08 21:09, , 15F
EOF / error 時,會 return NULL,會有其他問題嗎?
07/08 21:09, 15F

07/08 21:09, , 16F
不好意思是我看太快(我承認我偷懶到連推文都推一樣的 orz
07/08 21:09, 16F

07/08 21:12, , 17F
@firejox,tropical72: 你們是對的
07/08 21:12, 17F

07/08 21:27, , 18F
@firejox: 剛認真看一下,這樣子如果後面要用到 num 有可
07/08 21:27, 18F

07/08 21:28, , 19F
未定義,然後 a11111111111 會被當作 1 :P
07/08 21:28, 19F

07/08 21:33, , 20F
因為你輸入12個字阿...
07/08 21:33, 20F

07/08 21:38, , 21F
hmm 我想我知道為什麼,我只是不知道這是不是原 Po 要的:O
07/08 21:38, 21F

07/08 21:44, , 22F
你可以當我很挑剔 xDDD
07/08 21:44, 22F
※ 編輯: firejox 來自: 123.240.129.15 (07/08 22:39)
文章代碼(AID): #1E5eSl9I (C_and_CPP)
文章代碼(AID): #1E5eSl9I (C_and_CPP)