名前を入力し、すでにある4人の名前と一致するかを確認し返す、という課題です。
同じ名前を入力しても、「その人はいません」と返されます。
以下のコードのどこが悪いのか、教えていただけないでしょうか。
全くの初心者ですので、どうぞよろしくお願いいたします!
#include<stdio.h>
int main(int argc, char *argv[]) {
char input[9], string[4][9] = {"ヒロシ", "サトシ", "アキコ", "ユウコ"};
int i, j, result = 0;
while(1){
printf("メンバー:ヒロシ,サトシ,アキコ,ユウコ\n");
printf("名前を入力してください:");
scanf("%s", input);
for (i = 0; i < 4; i++){
for (j = 0; j < 9; j++){
if(input[i] != string[i][j]){
break;
}
else if(input[i] == '\0' && string[i][j] == '\0'){
result = 1;
i = 4;
j = 9;
}
}
}
if (result == 1){
printf("%sはメンバにいます.\n", input);
}
else {
printf("%sはメンバにはいません.\n", input);
}
}
return 0;
}