teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

加筆

2015/09/05 13:03

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -1,4 +1,7 @@
1
1
  ほかの方の指摘以外に・・・
2
2
  str_chnum()でカウントを返しているようですが、main()で受け取っていませんね?
3
3
  カウンタを表示させるような処理は要りませんか?
4
- あと、最初のscanf()で読み込んだ後、バッファには改行が残ってしまうので、2回目のscanf()で改行が読み込まれます。なのでfgets()で文字列を読み込んでからscanf()で文字を読み込んだほうがいいと思います。
4
+ あと、最初のscanf()で読み込んだ後、バッファには改行が残ってしまうので、2回目のscanf()で改行が読み込まれます。なのでfgets()で文字列を読み込んでからscanf()で文字を読み込んだほうがいいと思います。
5
+ scanf()の注意については
6
+ [scanf()の注意事項](http://www9.plala.or.jp/sgwr-t/c/sec05.html#s5-4)を参考に。
7
+ 1文字読み込みならgetchar()かgetc()を使ったほうが確実です。