プログラムコード↓
#include <stdio.h> int main(void){ char name[10][128]; /* 名前を格納する配列 */ int num = 0; /* メンバーの人数 */ int cnt = 0; /* ループ用の変数 */ printf("メンバーの人数は何名ですか?\n"); scanf_s("%d", &num); for(cnt = 0; cnt <= num-1; cnt++){ printf("%d番目のメンバーのお名前は?\n", cnt+1); gets(name[cnt]); } printf("\n\n"); for(cnt = 0; cnt <= num-1; cnt++){ printf("%d番:%s\n", cnt+1, name[cnt]); } return 0; }コンパイル時にはエラーは表示されませんでしたが、実際に動かしてみたところ、
1回目に名前を入力するところだけ飛ばされてしまいます。
こんな感じになります↓
「
C:\Program Files\Microsoft Visual Studio 9.0\VC>test2
メンバーの人数は何名ですか?
5
1番目のメンバーのお名前は?
2番目のメンバーのお名前は?
yamada
3番目のメンバーのお名前は?
yamamoto
4番目のメンバーのお名前は?
yamasita
5番目のメンバーのお名前は?
yamane
1番:
2番:yamada
3番:yamamoto
4番:yamasita
5番:yamane
」
コンパイルは「VC++ 2008EE」のコマンドプロンプトで行っており、
実行ファイルもコマンドプロンプトで動かしています。
C言語は大学(情報系ではない)の授業でかじった程度なので初心者です。
「実行ファイルを動かす」などの表現も正しいか分からず使っています。
注釈の入れ方もよく分かっていないので、分かりずらいと思います。
質問内容以外のこともご指導いただけたらありがたいです。