関数がその改行と入力が区別できないため、getchar()
またはfflush(stdin)
を使って改行または前の入力を残しました。 scanf
機能で%s
を使用したときは、これらは必要ありませんでした。 %c
または%d
を同じ機能に使用すると、なぜそれが必要なのですか?getchar()とfflush(stdin)の動作が混乱しています
0
A
答えて
1
実際、fflush()
には入力ストリームの動作が定義されていないため、実装定義の動作がいくつかあります。また、fpurge()
がglibcにあります。
ルールscanf()
を使用して、それはそれは空白をキャプチャする、または空白が先行している場合、それらすべてを無視することができますように異なる動作をどの%c
を使用している場合を除きisspace()
、によって返される空白文字を見つけたとき、それが停止することです。
また、gets()
の機能は危険で、最近はc標準から削除されていますので、使用しないでください。例として参照することもできます。それができるならばgets()
の改良版である
fgets()
機能は、今までに撮影した文字の数は、あなたがする必要はありませんので、それの値が第2のパラメータだ超えていない場合、すなわち、最終'\n'
をキャプチャしませんそれ以降は何でもをフラッシュしてください。
scanf()
は、最後の'\n'
を入力バッファに残すだけでなく、それに続く空白も残すことを考慮する必要があります。したがって、通常はgetchar()
で十分ではありません。を確実にするために、getchar()
には空白が多く残っている必要があります。
関連する問題
- 1. Angular App内のBehaviorSubjectの動作が混乱しています
- 2. Linuxでのmktimeの動作が混乱していますか?
- 3. Javaでの.split()の動作が混乱しています
- 4. UPCopoverControllerの動作が混乱しています
- 5. Tensorflowでmax poolingの動作が混乱しています
- 6. java.beans.PropertyDescriptor(String、Class)の動作が混乱しています
- 7. IDBKeyRange.includesからの動作が混乱しています
- 8. .htaccessが動作していないと混乱していません。
- 9. TypeScriptの基本型booleanとの動作が混乱しています
- 10. fflush(stdin)の代替品ですか?
- 11. JavaScriptオブジェクトの動作が混乱する
- 12. Dojoノードトラバーサルの動作が混乱する
- 13. componentDidUpdate内部動作が混乱している
- 14. TcpMaxDataRetransmissionsが混乱しています
- 15. JavaFXシーンが混乱しています
- 16. アクティブレコードSTIが混乱しています
- 17. MVC RouteDatasが混乱しています
- 18. ULセクションが混乱しています
- 19. `tf.cond`の動作によって混乱します
- 20. caseとisnumericとの動作が混乱する
- 21. ドメイン駆動型デザインが混乱しています
- 22. 私のPHPインクルードが動作しない理由として混乱しています
- 23. シートの作成について混乱しています
- 24. オーバーロードの混乱する動作
- 25. Relay.QLフラグメント、リレーのクエリとルートが混乱していますか?
- 26. SonarQubeとPostgreSQL DBの設定が混乱しています
- 27. JSONオブジェクトのシングルトンの動作に混乱がありますか?
- 28. オブジェクト割り当ての動作が混乱する
- 29. 自己ホスト型WCFサービス - 混乱している動作
- 30. 混乱このコードの動作を行いますなぜ
'fflush(stdin)'は未定義の動作です – yano