推 tiyun:scanf("%*c%d%*c%d%*c%d%*c",&a,&b,&c); 10/23 17:00
你好,我用了你的方法. 部分的code如下
while(scanf("%*c%d%*c%d%*c%d%*c",&x1,&x2,&h)!=EOF){
printf("%d %d %d\n",x1,x2,h);
假如我輸入(1,5,7)
會顯示 1 5 7
再輸入(2,8,9)
會顯示 1 5 7
2 8 9
再輸入(3,7,6)
會顯示 2 8 9
3 7 6
請問要如何解決這個狀況呢? 是否跟buffer有關?
※ 編輯: zptdaniel 來自: 118.233.43.76 (10/23 17:17)
→ tiyun:while(scanf("\n%*c%d%*c%d%*c%d%*c",&x1,&x2,&h)!=EOF) 10/23 17:25
→ zptdaniel:謝謝! 我剛剛用了fflush(stdin)也完成這個動作 10/23 17:31
→ zptdaniel:不過我有另外一個問題 如果我用 fscanf的話 加上\n可行 10/23 17:32
→ zptdaniel:那如果改用fflush()我該給哪個參數呢? 10/23 17:32
→ zptdaniel:還是說fflush只能用於鍵盤Input的時候? 10/23 17:33
推 tiyun:跟fscanf的stream一樣 10/23 17:35
→ zptdaniel:喔..不大了解您的意思^^" 10/23 17:39
推 tiyun:看看它們的參數 int fscanf ( FILE * stream, ...); 10/23 17:41
→ tiyun:int fflush ( FILE * stream ); 10/23 17:42
推 LPH66:請勿使用 fflush(stdin).... 10/23 17:54