一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第21天,点击查看活动详情。
🚀write in front🚀
🔎大家好,我是泽奀,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🖊
前言
今天开始C语言题目的第39题,加油!打开我们的编译器来解决这道题目吧。
题目描述
模拟实现字符串函数,任意输入~求字符串函数长度。
题目分析
其实上述题目无非就是叫我们实现 strlen 的功能,那我们需要知道 strlen() 的函数声明的。
size_t strlen ( const char * str );
Size_t→是一个无符号(unisgned int)整型类型。
str → 要计算长度的字符串。注意:它是字符指针类型,而且它是 const 所定义的。
解题思路→无非就是数组传参到形式参数当中,之所以用指针是因为,数组名传参实际上传递的是首元素的地址,地址要用指针变量去进行存储。
题目代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>//assert的头文件
int My_strlen(const char *arr)
{
unsigned int Count = 0;//统计字符不可能是为负数的!
assert(arr!=NULL);//这里加入到断言就能确保我们输入字符串的时候不会是空指针
while (*arr != '\0')
{
Count++;//自增++
*arr++;//++,直到遇到'\0'就退出
}
return Count;//返回计算机长度
}
int main(void)
{
char enter[20] = { 0 };
printf("请输入字符串:");
scanf("%s", &enter);
int ret = My_strlen(enter);
printf("The total number of input strings:%d\n",ret);
return 0;
}
运行结果
运行结果如下 👇
请输入字符串:C语言天下第一
The total number of input strings:7
最后
这种是必须要掌握的,它可以帮助我们了解字符串函数使用。尤其是对于初学者来说还是非常有必要的,这样可以帮助我们更好的使用这个strlen()函数。