目录
strlen是什么?
- C 库函数 size_t strlen(const char *str) ; 头文件string.h;
- 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。strlen()函数读到到'\0'停止;
- strlen() 函数的声明: size_t strlen(const char *str);
- 参数:str – 要计算长度的字符串。char*做参数;
- 返回值:该函数返回字符串的长度。
strlen()函数的使用:
代码示例:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>//strlen包含的头文件
int main(void) {
char str[64];//定义一个字符数组
int len;
printf("请输入一个字符串:");
gets(str);//获取输入的字符串
len = strlen(str);//调用strlen函数
printf("字符串长度为%d\n", len);
system("pause");
return 0;
}
运行结果:
递归方式实现strlen:
- 代码示例:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_strlen(const char *p)
{
assert(p != NULL);
if (*p == '\0')
{
return 0;
}
else
{
return 1 + my_strlen(p + 1);
}
}
int main(){
char p[100];
printf("输入你需要计算长度的字符串:\n");
gets(p);
int ret = my_strlen(p);
printf("字符串长度为%d\n", ret);
system("pause");
return 0;
}
运行结果:
非递归方式实现strlen:
- 代码示例:
-
#include<stdio.h> #include<stdlib.h> int main(){ int i = 0; int num = 0; char str[100]; printf("输入你需要计算长度的字符串:\n"); gets(str); for (i = 0; str[i] != '\0'; i++)//循环遍历字符串,遇到'\0'停止 num++; printf("字符串长度为%d\n", num); system("pause"); return 0; }
运行结果:
-
优等的心,不必华丽,但必须坚固;
-------------------毕淑敏
晚安;