首页 > 其他分享 >模拟实现strlen函数(C语言)

模拟实现strlen函数(C语言)

时间:2024-09-01 21:23:39浏览次数:10  
标签:arr int C语言 char str 长度 strlen 模拟

#include<stdio.h>

//strlen实现

int Strlen(char arr[])
{
	int i = 0;
	int num = 0;//长度的数值
	for (i = 0; arr[i] != '\0'; i++)//当arr[i] 不为 \0 时继续
	{
		num++;//长度增加
	}
	return num;//返回长度的值
}

int main()
{
	//创建一个数组
	char arr[100] = "unhappy";

	//通过函数计算字符串的长度
	int str = Strlen(arr);

	//打印长度
	printf("%d\n", str);
	return 0;
}

当然这个代码其实不是最简化的版本,指针实现会更方便简单,但我不是很擅长

我把它放下面了,这个好像是库函数里的strlen函数的代码

size_t my_strlen (const char * str)
{
        const char *eos = str;
        while( *eos++ ) ;
        return( eos - str - 1 );
}

标签:arr,int,C语言,char,str,长度,strlen,模拟
From: https://blog.csdn.net/2301_79637565/article/details/141790263

相关文章

  • C语言中的#和##
    在C语言中,#和##是预处理器运算符,具有特定的功能。一、#运算符(字符串化运算符)概念:#运算符被称为字符串化运算符。它的作用是将其后面的参数转换为字符串常量。作用:在宏定义中,#可以将传入的参数转换为字符串,方便输出调试信息或者构建特定的字符串。代码例子:#incl......
  • 逆序一句话如:you like her 变为 reh ekil uoy(C语言)
    #include<stdio.h>#include<string.h>//逆序一句话如://youlikeher变为rehekiluoyintmain(){ //创建一个字符串 chararr[100]={0}; //输入字符串内容 gets(arr); //逆序整句话(即把ilike变为ekili) intsz=strlen(arr)-1; intleft=0,righ......
  • C语言 - 自包含和包含其他文件
    在C语言中,头文件的设计可以采用自包含和包含其他文件的方式,以提高代码的可维护性和可重用性。一、头文件自包含含义:头文件自包含是指一个头文件能够独立地进行编译,不依赖于其他头文件的特定包含顺序。这意味着头文件应该包含其自身所依赖的所有定义和声明,以确保无论在什么......
  • C语言 - 头文件包含
    在C语言中,条件编译是一种根据特定条件决定是否编译某段代码的机制。它可以提高代码的可移植性、灵活性和效率。一、条件编译的指令#ifdef、#ifndef、#endif:#ifdef:如果某个宏已被定义,则编译其后的代码块。#ifndef:如果某个宏未被定义,则编译其后的代码块。#endif:用于结束一......
  • C语言阴阳迷宫
    目录开头程序程序的流程图程序游玩的效果下一篇博客要说的东西开头大家好,我叫这是我58。程序#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>#include<string.h>#include<Windows.h>enumWASD{ W, A, S, D};enumYYSe{ YI......
  • 基于Java Swing 的操作系统课程设计- 模拟文件管理项目(可视化
    一、需求分析......
  • 【C语言】文件操作
    为什么使用文件?如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。什么是文件?磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种......
  • C语言基础(三十)
    1、希尔排序:#include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//希尔排序函数voidshellSort(intarr[],intn){for(intgap=n/2;gap>0;gap/=2){//对每个子列表进行插入排序......
  • C语言基础(三十一)
    1、线性搜索:#include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//希尔排序voidshellSort(intarr[],intn){for(intgap=n/2;gap>0;gap/=2){for(inti=gap;i<n;......
  • C++奇迹之旅:深度解析list的模拟实现
    文章目录......