gpt4 book ai didi

c - 使用逻辑或运算符时出现代码错误

转载 作者:行者123 更新时间:2023-11-30 21:06:56 27 4
gpt4 key购买 nike

我最近开始学习C语言。我想编写一个简单的是/否程序,但是,我的代码中有一个错误,我似乎找不到解决方案。

这是代码:

#include <stdio.h>

int main()
{
char answer[10];


printf("do you like programming? yes/no\n");
scanf(" %s", &answer);

if((answer == 'yes')|| (answer == 'no')){
printf("you are awesome\n");
}
else{
printf("try again\n");
}
return 0;
}

当我使用 y/n 而不是 yes/no 时,程序运行良好。我知道我需要用字符串替换 char,但我不知道该怎么做。我在某处读到我需要使用一个名为 strcmp 的函数,但我也不知道如何使用它。如果有人能帮助我,我将非常感激。

提前致谢!

最佳答案

当你输入时if((answer == 'yes')|| (answer == 'no')),本例中的 == 运算符不是比较字符串,而是而不是指向字符串的指针。要测试字符串的相等性,请使用 strcmp 。您的 if 语句将如下所示:

#include <string.h>

...

if(strcmp(answer, "yes") == 0 || strcmp(answer, "no") == 0) {

...

关于c - 使用逻辑或运算符时出现代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com