作者tropical72 (藍影)
看板C_and_CPP
標題Re: [問題] scanf的問題
時間Sun May 9 21:44:52 2010
scnaf 回傳值是 "引數成功 match 之數目"
ex:
int a1, a2, a3;
int ret = scanf("%d%d%d", &a1, &a2, &a3);
如果使用者輸入 10 22 12
回傳值 ret = 3
如果值用者輸入 10 22 ss
最後一個引數沒有 match 到
回傳值 ret = 2
以您的例子 while(scanf("%d", &num) {....}
事實上可以看成
while(scanf("%d", &nun)!=0) {....}
或是
while(scanf("%d", &num)==1) {....}
是一樣的意思,
只要輸入不是正常的整數, 這個迴圈就會停下來
參考..
※ 引述《gsrr (下象棋)》之銘言:
: while (scanf("%d",&num))
: {
: ...
: }
: 像上述狀況,以scanf進行輸入時,
: 若輸入 22 33 44,時會依序讀入22,33,44
: 請問一下此時如何判斷說讀取時為輸入的最後一個數字.
: 謝謝!
--
我期待 我等待
肩狹骨上的翅膀早些長出來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.77.80
推 gsrr:謝謝大大,那如果我不知道要user一次要輸入幾組, 05/09 21:59
→ gsrr:有辦法在最後一組時,判斷這是輸入的最後一組數字嗎? 05/09 21:59
→ tw00088437:你接下來要做的事情是? 05/09 22:27