【发布时间】:2020-10-01 20:40:17
【问题描述】:
如果输入姓名 Emily 或 Jack,我希望显示一条消息,而另一个输入则显示不同的消息。
我的代码:
#include <stdio.h>
#include <string.h>
int main()
{
char name;
printf("What is your name?");
gets(name);
if ((strcmp(name,"Emily") == 0) || (strcmp(name,"Jack") == 0))
{
printf("Hello %s\n", name);
} else
{
printf("Welcome Stranger!\n");
}
return 0;
}
此代码将编译但不会输出任何内容。
【问题讨论】:
-
name应该是char的数组,而不仅仅是单个char。 -
另外,C 被编译。它不是一种脚本语言。
-
你在哪里学会使用
gets()?永远不要使用它。 -
在调试器中单步执行可能会暴露问题。还可以尝试打开所有编译器警告(例如
-Wall),因为这段代码非常不正确。 C 会告诉你,但只有在被问到时才会告诉你。
标签: c io string-comparison