这个简单的检查失败了;它不显示结构内的内容:
char answer[100];
printf("\nEnter option and press enter: \n");
fgets(answer, sizeof(answer), stdin);
answer[strcspn(answer, "\n")] = 0;
if (answer[100] == '1')
{
const char* data = "Это список 1";
printf(data);
}
else if (answer[100] == '2')
{
const char* data = "Это список 2";
printf(data);
}
这个想法很简单 - 用户输入,例如 1,如果是这样,我们给出第一个值data
;当您分别输入 2 - 2nd 时。
用法
answer[100]
- 错误,访问超出数组末尾的元素。人们可以将条件写为answer[0] == '1'
,这意味着“第一个字符是数字 1”。但如果菜单上至少有十个项目,这就很糟糕了。尝试这个:PS-
printf(data);
不要这样做。这将一直有效,直到data
百分比符号出现为止。当它到达那里时,错误和未定义的行为就会开始。如果这就是你想要的printf
,那么printf("%s", data);
。这永远有效。