1. ホーム
  2. c

[解決済み] getsとscanfの違いは何ですか?

2022-02-16 23:02:19

質問

もし、コードが

scanf("%s\n",message)  

gets(message)

どちらもメッセージに入力されるようですが、何が違うのでしょうか?

解決方法は?

基本的な違い(あなたの特定のシナリオに関連して)。

  • scanf() に遭遇した場合、入力の受け付けを終了します。 whitespace , newline または EOF

  • gets() に遭遇した場合、空白を入力文字列の一部とみなし、入力を終了します。 newline または EOF .

しかし、それを回避するために バッファオーバーフロー エラーやセキュリティリスクを回避するために、より安全な fgets() .