c语言:编写一个函数求给定字符串长度?
方法一:数组方式
代码如下:
<span style="font-size:18px;">#include<stdio.h>
#include<assert.h>
int my_strlen(char const*str)
{
int count=0;
assert(str);//断言,判断指针的有效性
while(*str++!=NULL)
{
count++;
}
return count;
}
int main()
{
char arr[30]="trouble is a friend.";
printf("%d\n",my_strlen(arr));
getchar();
return 0;
}</span>
运行结果:
方法二:指针方式
说明:当两个指针都指向同一个数组中的元素,指针减指针就是指针与指针之间元素的个数;两个地址相加没有实际意义。
代码如下:
<span style="font-size:18px;">#include<stdio.h>
int my_strlen(char const*str)
{
char const*tmp=str;
while(*str!='\0')
{
str++;
}
return str-tmp;
}
int main()
{
char arr[30]="trouble is a friend.";
printf("%d\n",my_strlen(arr));
getchar();
return 0;
}</span>
#include <stdio.h>
#include <iostream>
void main()
{
char a[100];
int h=0;
gets(a);
h=strlen(a);
printf("%d\n",h);
}
{
int len = 0;
if (str != NULL)
{
while (*str != '\0')
{
len++;
str++;
}
}
return len;
}
{
assert(str);
char *p = str;
while(*str++);
return str-p-1;
}