Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.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_String_Char - Fatal编程技术网

如何在C语言中比较字符串中的字符

如何在C语言中比较字符串中的字符,c,string,char,C,String,Char,为什么这不起作用? 我想通过比较元音和辅音的字符,将它们从字符串中分离出来。 在C++语言中,我可以通过来实现这一点。 char name[]="Rajas"; char ch; ch=name[0]; if(ch=="R") printf("Found"); return 0; R是char[2]类型的字符串文字,包含“R”和“\0”。这不是你想要比较的 您需要与字符“R”进行比较: 为什么这不起作用 问题在于: if(ch == 'R')

为什么这不起作用? 我想通过比较元音和辅音的字符,将它们从字符串中分离出来。 在C++语言中,我可以通过

来实现这一点。
   char name[]="Rajas";
    char ch;
    ch=name[0];

   if(ch=="R")
   printf("Found");


   return 0;

R是char[2]类型的字符串文字,包含“R”和“\0”。这不是你想要比较的

您需要与字符“R”进行比较:

为什么这不起作用

问题在于:

  if(ch == 'R')
      printf("Found");
请注意,R是一个字符串文字R'是一个常量字符。后者是您在这里需要的,因为您无法将字符串文字与单个字符进行比较

代码应改为:

if(ch=="R")
printf("Found");
顺便说一下,您可以省略char对象ch:


另请注意:您在第二个示例中显示的代码在用途上与第一个完全不同,因为您在第二个示例中处理字符数组中的字符串字符,而在第一个示例中,您只在字符数组的第一个元素中查找匹配字符

您显示的代码没有任何意义。这与你在问题中所写的毫无共同之处。@RajasPaunikar我很高兴,我能帮助你-
if(ch=="R")
printf("Found");
char name[] = "Rajas";
char ch = name[0];

if(ch == 'R') {
printf("R is found");
}
char name[] = "Rajas";

if(name[0] == 'R') {
printf("R is found");
}