如何在C语言中比较字符串中的字符
为什么这不起作用? 我想通过比较元音和辅音的字符,将它们从字符串中分离出来。 在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')
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");
}