エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C: scanf()関数の連続使用は注意
scanf()関数は文字列を読み込む関数ですが、以下のように2回連続で使うと、(プログラマが意図した通り... scanf()関数は文字列を読み込む関数ですが、以下のように2回連続で使うと、(プログラマが意図した通りには)うまく動いてくれません。 char c, *str; printf("文字列を入力してください: "); scanf("%s", str); printf("文字を入力してください: "); scanf("%c", &c); scanf()関数は、入力された文字を一度バッファに溜め、そのデータを読み込みます。 さらに、%sを指定すると、空白やタブ、改行文字などは読み込みません。 上記の例でバッファに溜められるのは'a''b''c''\n'という4文字分がバッファに溜まっています。 すると、1つ目のscanf("%s")では"abc"という文字列が変数*strに代入されます。 が、まだ改行'\n'がバッファに残っているのです。 そして2つ目のscanf("%c")がバッファに残ってい