-4

我一定是疯了:-(。我不确定,但如果我输入 2,我会得到是和不显示...

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 不会终止你的数组。

更好的方法是让大小在构建时自动处理:

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