如何在c语言中计算字符串长度#。。我的程序为什么错了??

#include<stdio.h>#include<stdlib.h>main(){intstr[20];intlen;scanf("%s",str);len=lengt... #include<stdio.h>
#include<stdlib.h>
main()
{
int str[20];
int len;

scanf("%s",str);
len=length(str);
printf("长度为%d",len);
}
int length(p)
char *p;
{

int n=0;
while(*p!='\0'){n++;p++;}
return (n);
}
F:\专升本\C语言\lianxi1\新建文件夹\Cpp1.cpp(9) : error C2664: 'length' : cannot convert parameter 1 from 'int [20]' to 'char *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
F:\专升本\C语言\lianxi1\新建文件夹\Cpp1.cpp(11) : warning C4508: 'main' : function should return a value; 'void' return type assumed
F:\专升本\C语言\lianxi1\新建文件夹\Cpp1.cpp(12) : error C2065: 'p' : undeclared identifier
F:\专升本\C语言\lianxi1\新建文件夹\Cpp1.cpp(13) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
F:\专升本\C语言\lianxi1\新建文件夹\Cpp1.cpp(13) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错Cpp1.exe - 1 error(s), 0 warning(s)
展开
 我来答
shine1991
科技发烧友

2018-04-30 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
#include<stdio.h>
#include<stdlib.h>
int length(char *p);//添加函数原型
main() 
{
int str[20];
int len;
scanf("%s",str);
len=length(str);
printf("长度为%d",len);
}
int length(p)
char *p; 
{
int n=0;
while(*p!='\0') 
{
n++;
p++;
}
return (n);
}
更多追问追答
追问
不用length库函数怎么写呀?我没用length函数,直接自己写一个函数,然后调用。你发这个,为什么我运行还是错的
追答
报错信息贴出来
还有你这里根本就没用库函数,用的是自定义函数length
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式