首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

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

请教高手一个很菜的问题,希望得到指点
下面这些代码我在编译的时候总是提示这行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;
}

热点排行