看板 MacDev 關於我們 聯絡資訊
小弟是剛學程式語言的新手,最近買了本C語言教學手冊(洪維恩)就開始摸索了 因為本身是使用Macbook,所以直接用xcode寫看看C語言 大部份遇到問題都是自己google,本身商科出身身邊沒人可以問Q_Q 這兩天做題目練習上卡在fflush()這,程式碼如下 #include <stdio.h> #include <stdlib.h> int main(void) { char x[10]; char y[10]; printf("enter a string: "); scanf("%s",x); fflush(stdin); printf("enter another string: "); scanf("%s",y); printf("%s \n%s\n",x,y); return 0; } 我打 "aaa bbb",出來的結果應該是會因為fflush()的關係 在第二題停留要我輸入第二 行 但試過加上fflush()和沒加,出來的結果完全一樣 請問是我哪裡寫錯了嗎?? 另外請問conio.h這個標頭檔在xcode無法執行嗎? 那要怎麼使用getch()和getche()這兩個函數 -- Sent from my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.139.27 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1415632192.A.096.html
ckvir: http://ppt.cc/9K13 試試看11/11 00:48
yr: fflush 在 C 標準中並沒有對 stdin 做定義。11/11 09:13
我也試過curses.h也無解,不會出現錯誤,但一run就會出現fail... ※ 編輯: Caramel0519 (111.82.139.27), 11/11/2014 17:18:33
manlike: flush 操作應該是用在 output stream 的吧 = =|| 11/11 18:11
https://www.youtube.com/watch?v=j2IgenrN44I
我是參考這個影片寫的 還是我寫法有錯@@? ※ 編輯: Caramel0519 (223.138.217.48), 11/11/2014 21:59:53
yr: 因為這個函示沒對 stdin 定義,所以每個編譯器實作會不同 11/12 18:43
yr: 所以你不能去預期一個特定編譯器去呼叫 fflush(stdin) 的結果 11/12 18:44