int strll(char *str ) //函数名字不能用strlen否则不会出结果的 strlen是内置函数
int main()
{
char *astr//应该为指针
astr = "abc"
strll(astr) //指针直接过去 不必再加寻址符
return 0
}
int strll(char *str )
{
int length = 闷念源0
while( *str++ != '\0')
length +=1
printf("length = %d\n",length)
return length
}
帮你改好了 按照你的改的,主要有几个部分函数名字不能用strlen 否则会有重复声明的报警和错误。strlen为蚂态内置函数。 开始声明 astr应该为指针类型,要不不能赋值字符串
第一、微信小程序目前只支持中文、英文、租亩铅数字和加号,长度在3-20个字符之间小程序名称一个汉字为两个字符加号只可以放在名称的尾处,例如(xxx+)小程序发布前,可修改两次名称。发布后,不支持改名。第弊好二、小程序的头像设置和介绍不能带有涉及政治敏感词和热情的内容,头像和小程序介绍一个月可以修改5次,服务类目一个月内可申请修改3次。
第三、个人号无法认证,微信小程序支持个人、企业、政府、媒体、其他组织耐弊五中类型申请政府、媒体、其他组织类型帐号,必须通过微信认证验证主体身份。认证通过前,小程序部分功能暂无法使用。
第四、一个身份z号只能注册5个小程序,一个手机号码只能注册5个小程序主体信息提交后不可修改。
第五、目前小程序的服务配置一月内可以修改3次服务项目暂时不包括游戏、直播等,内容不可以涉及测试类内容。
给改备颤成了这样:
#include<stdio.h>
main()
{
char *p1="i am the best"
char *p2="you are the best"
int n1,n2
n1=strlen1(p1)
printf("n1=%d\n",n1)
n2=strlen1(p2)
printf("n2=%d\n",n2)
}
int strlen1(char *s)//我把这个函数名改了是因为避免它和库里的strlen()函数重了导致异常
{
char *q=s
while(*q!='\0') //这个地方的结束条件应该是'\0'而不是‘\n' ’\0'是空字符而'\n'是换行符
q++
return (q-s)
}
解释一下 char *q=s:
参数是char *s 接收一个char型指针,指向一段地址,也可以理解为指向一段数组
char *q=s这句话,同样定义了一个char型指针,此时,枝罩可以理解为将s数组的首地址赋给了q,其实是,s指针和q指针同时指向了同一个地址,s没有变,只不过q这个时候也指向了s原来指向的那个首地址,如果对应主函数的话,就猛滚闹是p1[0]和p2[0]。
因为此时q和s指向了同一地址,q++就是不断将指针后移的过程,因此可以据此得出字符串长度……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)