首页 > 其他分享 >C语言模拟实现字符串操作函数

C语言模拟实现字符串操作函数

时间:2023-09-04 10:07:20浏览次数:39  
标签:arr int C语言 char ++ 字符串 strlen 模拟 指针

在c语言中,有许多的库函数

strlen就是其中的一个

该库函数的功能是求字符串的长度

接下来就解释一下strlen的工作流程

我先定义一个数组:

char arr[]="abcdef";

C语言模拟实现字符串操作函数_字符串

strlen就是在字符串中找到\0就停止


int my_strlen(char *p)
{
	int count = 0;
	assert(p != NULL);//assert是断言,函数形参有指针的时候,都可用assert判断该指针是否为空指针
	while (*p != '\0')*p就是把指针p解引用,即访问每个元素
	{
		count++;//元素不是\0,计数器++
		p++;//p是一个指针,p++即依次访问下一个元素,根据循环条件,即找到\0即可
	}
	return count;
}
int main()
{
	char arr[] = "abcdef";
	int ret = my_strlen(arr);
	printf("字符串的长度为:%d", ret);
	return 0;
}
 

标签:arr,int,C语言,char,++,字符串,strlen,模拟,指针
From: https://blog.51cto.com/u_16055951/7345800

相关文章

  • 2023.9 模拟赛日志
    谁提出的集训从9.4开始啊?哦是我们的沈队啊,%%%SS230902A构造,证明值得学习B01分数规划,贪心,结论题,没有做出来比较烦躁C树形DP,切入角度值得学习D图论题?数所有选\(k\)个点为根最小树形图的边权和???\(100+20+60(40)+30=210(190)\),括号内是估分,没有括号就是完全符合事实......
  • 利用lammps模拟蓝宝石在水润滑环境下的抛光
    一问题描述蓝宝石(Al2O3)由于其独特的晶体结构,优异的物理化学特性,被广泛应用于航空航天等领域。高精尖的应用领域要求蓝宝石具有纳米级的表面粗糙度以及严格可控的亚表面缺陷。影响超精密加工最终性能的因素主要集中在工件表面与浆料/磨粒之间的相互作用上。在加工过程中,磨粒的运动......
  • 8.30 模拟赛 光和影(dream) 题解
    概括:大分类讨论。首先有个重要结论,无论是三种操作中的哪一种,他的左儿子仍然在他的左子树内,右儿子在右子树内。同时,旋转一个点一次,对他更上面的点的深度没有影响。以此,我们预处理出一个\(up_{u,0/1}\)表示将\(u\)splay到根上,对左子树和右子树深度的影响,由于上面的结论,这个东......
  • C语言——全局变量和局部变量重名了会怎么样
    前言(1)今天在交流群里面看到这样一个问题:为什么这个程序中下面我定义的void型函数smart在全局变量前声明了,但是在man函数中调用了smart函数,m的值打印出来还是0。#include<stdio.h>intm;voidsmart(void);intmain(void){ printf("m=%d.\n",m); smart(); printf("m=......
  • 剑指 Offer 58 - II. 左旋转字符串
    剑指Offer58-II.左旋转字符串翻转前n个字符翻转其余字符翻转所有字符classSolution{publicStringreverseLeftWords(Strings,intn){char[]ch=s.toCharArray();reverse(ch,0,n-1);reverse(ch,n,ch.length-1);rever......
  • 统计一个字符串的 k 子序列美丽值最大的数目
    k子序列指的是s的一个长度为k的子序列,且所有字符都是唯一的,也就是说每个字符在子序列里只出现过一次。定义f(c)为字符c在s中出现的次数。k子序列的美丽值定义为这个子序列中每一个字符c的f(c)之和1.贪心+组合枚举贪心选美丽值最大的字符,对于最后美丽值相......
  • 材料中的光速+defparam用法+C语言的宏使用
    材料中的光速https://blog.csdn.net/weixin_43229030/article/details/106745060空气中,相对介电常数和相对导磁率都为1,光的速度为12in/ns绝大多数互连线中的光速约为12in/ns/sqrt(4)=6in/ns。当估算电路板上互连线中信号的连度对,就可以假定它约为6in/ns。defparam的用法......
  • 东方博宜OJ1010 数组元素的排序 C语言版
    题目描述对数组的元素按从小到大进行排序。输入第一行有一个整数 n ( 5≤n≤10 );第二行有 n 个整数,每个整数的值在 [0,109]的范围内。输出输出排序后的数组。样例输入812368745输出12345678来源数组问题代码 #incl......
  • 字符串操作函数2
    strncat的用法,注意要追加\0。intmain(){ //strncmp字符串比较函数 constchar*p1="abcdef"; constchar*p2="abcqwer"; intret=strncmp(p1,p2,3); printf("%d\n",ret); return0;}intmain(){ char*p1="abcdef"; char......
  • C语言-指针
    目录指针行指针多级指针void指针const修饰符指针前置概述:在计算机内存中最小的操作单元是字节Byte(不是位bit)。每一个字节单元,都有一个编号,称为地址。指针定义:专门用来存放地址的变量,称为指针变量,通称指针。格式:<存储类型><数据类型>*<指针变量名>inta=10;int*p......