如何在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) 展开
#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) 展开
1个回答
展开全部
#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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询