错误列表中显示: error C2664: “ziziFu”: 不能将参数 1 从“char [20]”转换为“char”c 是什么意思?求解释
完整代码如下:
#include<stdio.h>
#include<string.h>
int ziziFu(char str,char c);
int main()
{
char str_1[20];
char m;
int n;
printf("输入我想统计的一个子字符:");
m=getchar();
printf("输入一个字符串:");
scanf("%s",str_1);
n=ziziFu(str_1,m);
printf("%d",n);
return 0;
}
int ziziFu(char str[],char c)
{
int p=0;
int i=0;
for(i=0;i < strlen(str);i++)
{
if(str[i] == c)
p++;
}
return p;
}
就是字面意思. 你声明处写成了这样
int ziziFu(char str,char c);
. 调用这个函数的地方是看不到下面的定义的, 所以只找到了这个错误的声明. 参数自然不匹配.应该把声明处改正成
int ziziFu(char str[],char c);