-1

入出力が正しく機能しません。助けてください。

これが私のコードです...

    char choice1;

    printf("This is a text game! You will be shown what is going on");
    printf("\nand it is up to you to decide what to do.");

    printf("\n\nThere is a gem on the ground.");
    printf("\nWhat do you want to do");
    printf("\n>");


    scanf("%c", &choice1);

    if (choice1 == pick up gem) {
        printf("Got Gem");
    }
4

1 に答える 1

3

%c文字列ではなく、単一の文字を入力するためのものです。ユーザーが複数の文字を入力できるようにする場合は、次のようなものが必要です。

char string[256];
fgets(string, 255, stdin);

if (strcmp(string, "pick up gem\n") == 0) {
    printf("Got Gem");
}

ところで - これは Objective-C ではなく、C です。

また、ユーザーが 256 文字を超える文字を入力すると、悪いことが起こります。

更新scanf:入力の最初の単語のみを取得することが判明しました。を使用fgetsすると、改行まで読み取られます。

于 2013-02-27T22:56:07.163 に答える