这个计算字符串的长度中,为什么"char";类型的实参与"char*"类型的形参不兼容?

intlenstr(charstr[]){inti;for(i=0;str[i]!='\0';i++);returni;}voidmain(){charstr[]={"g... int lenstr(char str[])
{
int i;
for (i = 0; str[i] != '\0'; i++);
return i;
}
void main()
{
char str[]= { "good" };
int n;
n = lenstr(str[5]);
cout << n << endl;
}
展开
 我来答
_无悔丶前進
2016-12-11 · TA获得超过144个赞
知道小有建树答主
回答量:81
采纳率:100%
帮助的人:41万
展开全部
lenstr(str);

调用时只需写数组名即可

追问
为什么加长度就错了
追答
首先,你这个char str[]={"good"}; 等价于 char str[5]={"good"}; 
你要调用str[5] 其实已经超出数组str的范围(str[0]到str[4])了

其次,你的函数是char *,而你传入str[0]之类的,其实是str[0]的元素 ,即char
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式