0

C を使用していますが、プログラムを実行するとこのエラーが発生します。プログラムを閉じるために文字「e」を入力すると、エラーが発生します。私を助けてください!!!ありがとう。:)

int main () {
while (true){
    HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
char wanted;
int c;
printf("Enter What You Want...\n");
printf("f for flower\n");
printf("m for mushroom\n");
printf("b for box\n");
printf("h for mario\n");
printf("e to close\n");
scanf("%s", &wanted);
if (wanted=='f'){
/*some codes here*/
}
else if (wanted=='m'){
/*some codes here*/
     }
    else if (wanted=='b'){
/*some code here*/
    }
    else if (wanted=='h'){
/*some codes here*/
    }
    else if (wanted=='e'){
         printf("Bye.\n");
         break;
    }
        else {
            printf("It Was'n a Possible Input. Try Again...\n");
        }
    }
    return 0;
 }
4

1 に答える 1

2

scanf("%s", &wanted);代わりにscanf("%c", &wanted);

のフォーマット文字列は%s、 への引数がscanfchar 配列になることを示します。あなたは単一の文字を持っているので、使用する必要があります%c

于 2012-12-10T22:45:46.230 に答える