Re: [問題] scanf的問題
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
推
05/09 21:59, , 1F
05/09 21:59, 1F
→
05/09 21:59, , 2F
05/09 21:59, 2F
→
05/09 22:27, , 3F
05/09 22:27, 3F
討論串 (同標題文章)