我是 C 新手,在使用下面的程序时遇到问题。它会询问人们是否健康,并相应地显示一条消息。到目前为止,我已经尝试使用!strcmp
,strcmp
并且strncmp
没有返回正值if
,都跳到else
语句。任何人都可以指出我哪里出错了,因为语法对我来说似乎很好。
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
int main()
{
char well[3];
printf("Hello, are you well today? (Yes/No) ");
scanf_s ("%s",well);
if (!strcmp(well,"Yes")){
printf("Glad to hear it, so am I\n");
}
else{
printf("Sorry to hear that, I hope your day gets better\n");
}
system("PAUSE");
return 0;
}
非常感谢所有人的所有答案,不幸的是,它们似乎都不起作用。分配 4 以考虑 null 没有任何区别。调用 scanf 而不是 scanf_s 会导致访问冲突(这很奇怪,因为程序的其余部分使用普通的 scanf。向 scanf_s 添加 '4' 参数也没有什么区别。真的把我的头发扯掉了,我很高兴适应null 在行尾,但程序似乎无法识别它。