-4

私は頭がおかしくなっているに違いありません:-(。よくわかりませんが、2と入力するとyesとnoが表示されます...

int main(void)
{
    int input;
    char yes[3] = "yes";
    char no[2] = "no";
    printf("Are you ok? Type in 1 for yes or 2 for no.\n");
    scanf("%d", &input);

    if (input == 1)
       printf("%s, I am\n.", yes);
    else
       printf("%s, I am not\n.", no);
    getchar();
    getchar();
}
4

1 に答える 1

6
char yes[3] = "yes";

4配列に文字が必要です。

 char no[2] = "no";

3配列に文字が必要です。

それ以外の場合、C は配列を null で終了しません。

より良いアプローチは、ビルド時にサイズを自動的に処理できるようにすることです。

char no[] = "no";
char yes[] = "yes";
于 2013-02-27T22:55:05.253 に答える