c语言编程 编写求字符串长度的函数int strlen(char*s),在主函数中调用该函数输出指定字符串的长度

如题所述

思路:因为字符串都是以'\0'作为结束标志,所以可以从字符串的第一个位置开始遍历,直到出现'\0'停止遍历,并每次下标后移,字符串的长度加1,最后返回字符串长度。

参考代码:

#include "stdio.h" 
int strlen(char *s){//求字符串长度函数 
int n;
for(n=0;s[n]!='\0';n++);
return n;

int main() {
char a[100];
gets(a); 
printf("%d\n",strlen(a));
return 0;
}
/*
运行结果:
wqerqew

*/
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-08
#include<stdio.h>
int strlen(char *s)
{
int i=0;
while(s[i])i++;
return i;
}

void main()
{
char a[256];
gets(a);
printf("strlen(a)=%d\n",strlen(a));
}本回答被提问者采纳
第2个回答  2011-06-08
int strlen(char* s) {
if (NULL != s) {
int i = 0;
while (*(s + i) != '\0') i++;
return i;
}
return 0;
}
第3个回答  2019-05-17

代码:

#include&lt;stdio.h&gt;

int mystrlen(char*str)

{

int size=0;

if(NULL==str)

return-1;

while(*str)

{

size++;

str++;

}

return size;

}

int main(int argc,const char*argv[])

{

char str[1024];

printf("please input string:");

gets(str);

printf("mystrlen=%d\n",mystrlen(str));

return 0;

}

方法二、

int Strlen(char*s){

int i;

for(i=0;*s!='\0';s++)//计算字符串串长(不用strlen)

i++;

return i;}//返回值为累加的i

int main(){

char a[100],*s;

int n;

printf("Enter a string:");

scanf("%s",a);

n=Strlen(a);

printf("该字符串串长为:%d\n",n);

return 0;

}

扩展资料:

C语言strlen()函数用法

头文件:#include&lt;string.h&gt;

strlen()函数用来计算字符串的长度,其原型为:unsigned int strlen(char*s);s为指定的字符串

eg:

#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){char*str1=

"http://see.xidian.edu.cn/cpp/u/shipin/";char str2[100]=

"http://see.xidian.edu.cn/cpp/u/shipin_liming/";char str3[5]="12345";

printf("strlen(str1)=%d,sizeof(str1)=%d\n",strlen(str1),sizeof(str1));

printf("strlen(str2)=%d,sizeof(str2)=%d\n",strlen(str2),sizeof(str2));

printf("strlen(str3)=%d,sizeof(str3)=%d\n",strlen(str3),sizeof(str3));return 0;}

运行结果:

strlen(str1)=38,sizeof(str1)=4

strlen(str1)=45,sizeof(str1)=100

strlen(str1)=53,sizeof(str1)=5

本回答被网友采纳
相似回答