【C语言】题目 39 → 模拟实现字符串函数,任意输入~求字符串函数长度。

145 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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()函数。