读书人

一个很菜的有关问题,希望得到指点

发布时间: 2012-03-09 21:42:53 作者: rapoo

请教高手一个很菜的问题,希望得到指点
下面这些代码我在编译的时候总是提示这行if((strcmp(*p, "X ")==0) || (strcmp(*p, "x ")==0))

下面的错误是D:\xu\ACCP\0101\02.cpp(18) : error C2664: 'strcmp ' : cannot convert parameter 1 from 'char ' to 'const char * '
这是什么原因呀
#include "stdio.h "
#include "string.h "
int countx(char *p);
void main()
{
char str[50];
printf( "请输入一行英文字符串: ");
gets(str);
printf( "字符串中x的个数是%d ",countx(str));


}
int countx(char *p)
{
int count=0;
while(*p!= '\0 ')
{
if((strcmp(*p, "X ")==0) || (strcmp(*p, "x ")==0))
count++;
p++;
}
return count;
}

[解决办法]
而且你程序有问题,你现在判断的是单个字符而不是字符串,因此不用STRCMP函数,我把你程序改了如下:
#include "stdio.h "
#include "string.h "
int countx(char *p);
void main()
{
char str[50];
printf( "请输入一行英文字符串: ");
gets(str);
printf( "字符串中x的个数是%d ",countx(str));


}
int countx(char *p)
{
int count=0;
while(*p!= '\0 ')
{
if(*p== 'x '||*p== 'X ')

count++;
p++;

}
return count;
}

读书人网 >C语言

热点推荐