作者LPH66 (運命のルーレット廻して)
看板b94902HW
標題Re: [情報] 單班計程實習課投影片 20051214
時間Tue Dec 20 00:28:08 2005
還有一個常見的求助:
怎麼我輸入到方向之後就當掉了?!
你讀輸入的那段應該是像這樣寫的吧:
scanf("%s",F);
scanf("%c",&D);
scanf("%d",&S);
scanf("%d",&E);
那麼請在%c前面加一個空白 變成" %c" (或是加在%s後面也行)
這是因為原來的寫法 %c會把跟在字串後面的那個換行給讀進D來
然後後面兩個%d就讀不到東西 所以S和E沒有變 於是後面的程式就爆炸了
加一個空白就可以把那個換行吃掉 (加\n也是OK)
--
三天來有(至少)三個求助的都有這個問題...所以來PO板
(其實是我懶得一個一個說 xD)
--
'Oh, Harry, dont't you
see?' Hermione breathed. 'If she could have done
one thing to make
absolutely sure that every single person in this school
will read your interview, it was
banning it!'
---'Harry Potter and the order of the phoenix', P513
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.54
※ 編輯: LPH66 來自: 140.112.240.54 (12/20 00:28)
推 Sinze:那為什麼第一個用gets就不會當掉呢?很好奇 12/20 02:03
推 kaomark:gets連換行也吃掉了,剛剛的實驗結果是這樣 12/20 09:13
推 LPH66:樓上正確 gets和fgets都會吃掉換行 12/20 22:40