我正在尝试用 C 语言编写一个函数,该函数将查询用户的输入,然后根据该输入执行一组特定的任务。我想出的代码如下所示:
int exit = 1;
int main(void)
{
while (exit)
{
action();
}
}
void action()
{
char x[31];
fgets(x, 30, stdin);
chomp(x);
if (x == "stop")
{
exit = 0;
}
}
问题是,每当我在控制台中输入“stop”时,它都不会注册,并且循环会继续迫使我按 CTRL-C。那么对比有什么问题呢?我输入它后打印 x 并且打印出“stop”,所以我不明白为什么 if 语句不起作用......
顺便说一下,chomp() 函数是我自己设计的,它只是删除了第一个/n 并用/0 替换它。
最佳答案
您将需要使用字符串比较函数,strcmp()
,或者,如果您只关心前 n 个字符,则使用 strncmp()
。引用C library reference关于如何使用它。
关于c - 在 C 中将变量与字符串进行比较的正确格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22726302/