/*
求字符串的长度。
类似strlen()函数
程序:输入字符串,输出字符串长度
*/
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//方法一
int MyStrlen1(char* s)
{
int count = 0;
while (*s != '\0')
{
s++;
count++;
}
return count;
}
//方法二
int MyStrlen2(char* s) //无创建临时变量,求字符串的长度。
{
if (*s == '\0')
{
return 0;
}
else
{
return 1 + MyStrlen2(s + 1);
}
}
//方法三
size_t MyStrlen3(const char* s) //size_t类型相当于unsigned int类型
{ //const在*前面修饰的是*s不能改变,const在*后面修饰的是s不能改变
size_t count = 0; //const char* s 与 char const* s 相同
while (*s != '\0')
{
s++;
count++;
}
return count;
}
//方法四
size_t MyStrlen4(const char* s)
{
const char* t = s;
while (*s++);
return s - t - 1; //地址相减
}
int main()
{
int ret = 0;
char str[30] = { 0 };
scanf("%s", str);
printf("%d\n", MyStrlen1(str));
printf("%d\n", MyStrlen2(str));
printf("%d\n", MyStrlen3(str));
printf("%d\n", MyStrlen4(str));
return 0;
}
c语言-计算字符串长度4种方法(类似strlen()函数)
于 2022-07-17 18:06:19 首次发布