方法壹:數組方式
代碼如下:
<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>