发布网友 发布时间:2022-04-28 11:56
共5个回答
热心网友 时间:2023-10-08 19:10
方法一:数组方式
代码如下:
<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>
热心网友 时间:2023-10-08 19:10
#include "stdio.h"热心网友 时间:2023-10-08 19:10
#include <stdio.h>
热心网友 时间:2023-10-08 19:11
int strlen(char * str)热心网友 时间:2023-10-08 19:12
int __strlen__(char *str)热心网友 时间:2023-10-08 19:10
方法一:数组方式
代码如下:
<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>
热心网友 时间:2023-10-08 19:10
#include "stdio.h"热心网友 时间:2023-10-08 19:10
#include <stdio.h>
热心网友 时间:2023-10-08 19:11
int strlen(char * str)热心网友 时间:2023-10-08 19:12
int __strlen__(char *str)