字符串长度就是它所包含的字符个数。
如何编写一个函数实现计算字符串的长度呢?可用以下两种方式:
方法一:数组方式
代码如下:
<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>
运行结果: