[問題] 請問如何結束輸入

看板C_and_CPP作者 (個字)時間11年前 (2013/04/07 15:03), 編輯推噓3(305)
留言8則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 有一連串數據(不定長度) 請問如何結束輸入 餵入的資料(Input): 假設是 (1,2,3) (2,3,4) (3,4,5) ... ... 不定數目 但同樣格式 預期的正確結果(Expected Output):當輸入enter結束 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 現在寫到的是 while(scanf("%d %d %d",&a,&b,&c)){ array[a][b]=c; 要怎麼按enter就跳出這個迴圈 還是不能使用scanf要用其他寫法 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.47.56

04/07 15:08, , 1F
你可以先用 getline 讀到暫時的字串裡再去 parse 字串
04/07 15:08, 1F

04/07 15:11, , 2F
break;
04/07 15:11, 2F

04/07 15:25, , 3F
scanf("%d %d %d%c",&a,&b,&c,&ch) if ('\n' == ch) break;
04/07 15:25, 3F
這樣第一個enter就死掉了

04/07 15:40, , 4F
dos的eof好像可以按ctrl+z產生
04/07 15:40, 4F

04/07 20:00, , 5F
用gets或者fgets再sscanf
04/07 20:00, 5F

04/07 20:49, , 6F
這位大大您是特地寫的嘛? 非常感謝~ 但我compile不過(他說不能在for裡面宣告i) 把i宣告在外面 編譯過了但輸入一個數值後就掛了...可能是dev c++問題 我再試試看 我用的方法是 while(1){ gets(str); sscanf(str,"%d %d %d",&a,&b,&c); array[a][b]=c; if(strlen(str)==0) break; 希望對要用的人有幫助 ※ 編輯: myIDis7 來自: 118.171.47.56 (04/07 21:38)

04/08 01:01, , 7F
在for裡宣告i要C99才有喔
04/08 01:01, 7F

04/08 01:52, , 8F
那是因為選了 C++ compiler 所以才編得過
04/08 01:52, 8F
文章代碼(AID): #1HOHf5-1 (C_and_CPP)