[問題] scanf的問題

看板C_and_CPP作者 (Q_Q)時間14年前 (2010/11/23 17:12), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串7/11 (看更多)
遇到的問題: (題意請描述清楚) do { scanf("%d%c%c%d",&coe,&c1,&c2,&exp); ... (對coe.c1.c2.exp分別做一些操作) ... }while(不知道要如何讓他中止??); 希望得到的正確結果: 比如說我輸入: 1x^2+3x^1-4x^0 [enter] 第一次讀到coe= 1 c1='x' c2='^' exp=2 二 coe= 3 c1='x' c2='^' exp=1 三 coe=-4 c1='x' c2='^' exp=0 我希望讀到這裡就會跳出迴圈, 但是我怎麼試讀完第三次以後他又會重新要我輸入東西 跳不出這個迴圈 程式跑出來的錯誤結果: 不會結束,會一直執行scanf... 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev C++ 有問題的code: (請善用置底文標色功能) do { scanf("%d%c%c%d",&coe,&c1,&c2,&exp); ... (對coe.c1.c2.exp分別做一些操作) ... }while(不知道要如何讓他中止??); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.226.155

11/24 01:20, , 1F
按 Ctrl+D ?
11/24 01:20, 1F

11/24 01:53, , 2F
直接讀完整行再用sscanf一項項parse出來??
11/24 01:53, 2F

11/24 01:55, , 3F
為什麼我看到錯誤結果那邊會有想笑的fu XD
11/24 01:55, 3F

11/24 02:00, , 4F
問一下原 PO, 你 'x' '^' 兩個字也都要讀進去?
11/24 02:00, 4F

11/24 02:18, , 5F
ungetc 這個函式可以看一下, 先讀讀看是不是換行, 不
11/24 02:18, 5F

11/24 02:18, , 6F
是就繼續 scanf, 否則字元放回去迴圈結束
11/24 02:18, 6F

11/24 12:23, , 7F
XD 看看這方法合不合用 http://codepad.org/i2doayfS
11/24 12:23, 7F
文章代碼(AID): #1Cw_NZpt (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
問題
1
1
完整討論串 (本文為第 7 之 11 篇):
問題
2
9
問題
3
11
問題
6
17
問題
1
1
問題
1
7
問題
1
4
問題
0
6
問題
1
3
問題
1
3
問題
-2
14
文章代碼(AID): #1Cw_NZpt (C_and_CPP)