gpt4 book ai didi

linux - 如何检查变量是否等于 C 中的文本?

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

如何检查变量是否等于某些文本?例如:如果我用 scanf 输入“Hi”,那么我如何检查“Hi”是否是其他输入的内容。我编写了一个程序,但它有错误。

错误:

feel.c: In function ‘main’:
feel.c:9:13: error: invalid operands to binary == (have ‘float’ and ‘char *’)
if ( value == "Linux mood!" ) {
^
feel.c:12:13: error: invalid operands to binary == (have ‘float’ and ‘char *’)
if ( value == "So sad." ) {
^
feel.c:15:13: error: invalid operands to binary == (have ‘float’ and ‘char *’)
if ( value == "Happy!" ) {
^
feel.c:18:2: error: ‘else’ without a previous ‘if’
else {
^

我使用 float 作为变量。

最佳答案

float 用于存储数字而不是字符串。您应该使用 char* 来存储字符串。另一个问题是,您无法使用 == 运算符来比较 C 风格的字符串。您必须使用 strcmp 函数。

strcmp 是 C 库的一部分。它不是您可以安装的东西。

示例:

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
printf("Please enter a string:\n");
char buff[20]; //Note that input can be only 19 characters
scanf("%s", buff);

if(!strcmp(buff, "Hello"))
{
printf("They are equal!\n");
}
else
{
printf("They are not equal!\n");
}

return 0;
}

关于linux - 如何检查变量是否等于 C 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26284408/

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