Re: [問題] scanf的問題

看板C_and_CPP作者 (藍影)時間15年前 (2010/05/09 13:44), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串3/11 (看更多)
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
謝謝大大,那如果我不知道要user一次要輸入幾組,
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
文章代碼(AID): #1BvhnOZ1 (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
問題
0
6
完整討論串 (本文為第 3 之 11 篇):
問題
2
9
問題
3
11
問題
6
17
問題
1
1
問題
1
7
問題
1
4
問題
0
6
問題
1
3
問題
1
3
問題
-2
14
文章代碼(AID): #1BvhnOZ1 (C_and_CPP)