質問をキーボードで入力してもらい、その質問に対して回答を出力するプログラムを作っています。
fgetsで入力すると、コアダンプが出てしまい、どこを直せばよいかわからない状況にあります。
有識者の方々、是非ともよろしくお願いいたします。
c
コード
#include <stdio.h>
#include <string.h>
struct question_answer {
char *question[10];
char *answer[20];
};
int
main(int argc, char *argv[]){
struct question_answer ans[100];
ans[0].question[0] = "age";
ans[0].answer[0] = "19";
ans[1].question[1] = "height";
ans[1].answer[1] = "172";
ans[2].question[2] = "hobby";
ans[2].answer[2] = "training";
ans[3].question[3] = "birthday";
ans[3].answer[3] = "12/27";
int i =1;
int end =0;
char moji[16];
while(i != end){
printf("質問は?>\n");
fgets(moji, 16, stdin);
if(strcmp(moji, ans[0].question[0])== 0){ printf("%s", ans[0].answer[0],"\n"); }else if(strcmp(moji, ans[1].question[1])== 0){ printf("%s", ans[1].answer[1],"\n"); }else if(strcmp(moji, ans[2].question[2])== 0){ printf("%s", ans[2].answer[2],"\n"); }else if(strcmp(moji, ans[3].question[3])== 0){ printf("%s", ans[3].answer[3],"\n"); }else if(strcmp(moji, ans[4].question[4])== 0){ printf("%s", ans[0].answer[0],"\n"); }else if(strcmp(moji, "bye")== 0){ end++; }else {
printf("用意されていないので解答できません\n");
}
}
return 0;
}
回答2件
あなたの回答
tips
プレビュー