Q1002 - 綾しいカルトQ 設営本部〔@AyaC_KaltQ〕

Last-Modified: Sun, 06 Mar 2016 15:09:02 JST (2971d)

カテゴリー

問題

次に掲げるC言語の関数のうち、stdin経由でキーボード入力を受け付ける際に絶対に避けるべきものはどれか。①scanf;②gets;③kbhit;④getchar

正解

正解は②getsです。

解説

  1. 書式指定で "%127s" のように入力バッファサイズを正しく指定すること、返り値を確認して正しくエラー処理すること、この2点を守れば安全です。
  2. getsには入力バッファサイズを指定する方法がありません。バッファオーバーフローが不可避です。
  3. Tight loopにならないようにsleep等で適切にOSにCPUパワーを返せば問題ありません。
  4. 使用が推奨される関数の一つです。

基準日

2015.06.11

https%3A%2F%2Fkaltq.wicurio.com%2Findex.php%3FQ1002
Founded by anonymous.
Powered by PukiWiki Plus! 1.4.7plus-u2-i18n.