c语言编译错误:error C2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char *' Con

#include<stdio.h>#include<string.h>#defineMAX20intmain(void){inti,total;intj=0;charst... #include <stdio.h>
#include <string.h>
#define MAX 20
int main (void)
{
int i, total;
int j=0;
char string[MAX];
gets (string);
total = strlen (string);
for (i=0; i<total; i++)
{
if (strcmp (string[i], "a"))
{
j++;
}
}
return 0;
}
展开
 我来答
陈一根1
2011-04-10 · 业精于勤荒于嬉行成于思毁于随-陈一根
陈一根1
采纳数:44 获赞数:168

向TA提问 私信TA
展开全部

#include <stdio.h>

#include <string.h>

#define MAX 20

int main (void)

{

 int i, total;

 int j=0;

 char string[MAX];

  

 gets (string);

    total = strlen (string);

 for (i=0; i<total; i++)

 {

  if (string[i]!='a')  //if(strcmp(str[2],string)>0) 这是例子。把这改了一下。

  {

   j++;

  }

    }

   printf("j=%d\n",j);

    return 0;

}

gufengdanxing
2011-04-10 · TA获得超过307个赞
知道答主
回答量:75
采纳率:100%
帮助的人:64.7万
展开全部
不明白你要做什么,不过这样改过就对了,你应该是想实现对string【i】和“a”的比较吧
#include <stdio.h>
#include <string.h>
#define MAX 20
int main (void)
{
int i, total;
int j=0;
char string[MAX];
gets (string);
total = strlen (string);
for (i=0; i<total; i++)
{
if(string[i]=='a')
{
j++;
}
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-13
展开全部
if (strcmp (string[i], "a"))错误
换为 if (strcmp (string[i], 'a'))即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-10
展开全部
if (strcmp (string[i], "a")) 改成 if (strcmp (string[i], 'a')) 就可以了,你使用了双引号,要使用单引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式