プログラムコード↓
#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言語は大学(情報系ではない)の授業でかじった程度なので初心者です。
「実行ファイルを動かす」などの表現も正しいか分からず使っています。
注釈の入れ方もよく分かっていないので、分かりずらいと思います。
質問内容以外のこともご指導いただけたらありがたいです。