Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如果字符串等于另一个字符串,则打印一些内容_C - Fatal编程技术网

C 如果字符串等于另一个字符串,则打印一些内容

C 如果字符串等于另一个字符串,则打印一些内容,c,C,出于某种原因,这段代码没有输出任何东西,我做错了什么 #include<stdio.h> int main() { char c; scanf("%s",&c); if(c=="ab") { printf("b"); } } #包括 int main() { 字符c; scanf(“%s”、&c); 如果(c==“ab”) { printf(“b”); } }

出于某种原因,这段代码没有输出任何东西,我做错了什么

#include<stdio.h>
int main()
{
    char c;
    scanf("%s",&c);
    if(c=="ab")
    {
        printf("b");
    }
}
#包括
int main()
{
字符c;
scanf(“%s”、&c);
如果(c==“ab”)
{
printf(“b”);
}
}

C字符串中的不是您声明的字符类型(即
字符C;
)。它是指向
字符的指针。您需要逐个字符检查是否相等,或者使用标准库函数

#包括
#包括
内部主(空)
{
charc[100];
scanf(“%s”,c);
char*s=“ab”;
if(strcmp(c,s)==0)
{
printf(“它们相等”);
}
}

因为这不是在c中比较字符串的方式。字符串与
strcmp
函数进行比较。另外,
c
不是字符串。您应该为字符串分配内存,或者使用
char str[64]
或使用
malloc()
时,
strcmp()
在相等时返回0,如果(strcmp(c,“ab”)==0,那将是
谢谢,从Python到c的转换肯定是一个挑战,lolAnd稍后,当OP更熟悉时,也许他会转换到
fgets()
:)您正在读取一个未初始化的指针。@现在它应该是正确的,尽管还远远不够完美
#include <stdio.h>
#include <string.h>

int main(void)
{
   char c[100];
   scanf("%s", c);
   char *s = "ab";
   if (strcmp(c, s) == 0)
   {
      printf("They are Equal\n");
   }
}