我一定是在失去理智:-(。我不确定,但如果输入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();
}
答案 0 :(得分:6)
char yes[3] = "yes";
您的阵列中需要4
个字符。
char no[2] = "no";
您的阵列中需要3
个字符。
否则C将不会为数组终止null。
更好的方法是在构建时自动处理大小:
char no[] = "no";
char yes[] = "yes";