//用指针减指针来实现strlen的功能#include<stdio.h>intmy_strlen(char*str)//str接收首元素a的地址{char*start=str;//start里面装的是首元素a的地址while(*str!='\0')//解引用指针str,或者写成while(*str)---真(更好){str++;//指针/地址++,str是个指针变量}returnstr-start;//指针减指针为两个指针...
intmy_strlen(){}//要实现的功能,如下三种方式intmain(){chararr[]="abcdef";intlen=my_strlen(a); printf("%d\n",len);return0; } 1.计数器方式(创建了临时变量) 思路如下:将arr传递到my_strlen中,我们创建一个变量count,当 *arr!=0时则count+1,arr也+1,此时 *arr='b',arr和count再同时+1,...
方法一:计数器法 方法二:函数递归法 方法三:指针相减法 模拟实现“求有效字符长度”的函数my_strlen 由于主函数都一样,现统一给出 代码语言:javascript 复制 intmain(){char arr[]="abcde";//5个可见(有效)字符int len=my_strlen(arr);//len接收返回值printf("%d\n",len);return0;} 方法一:计数器法 ...
intstrlen(constchar*s){if(s==NULL)return-1;return('\0'!= *s)?(1+strlen(++s):0; } 方法5:利用中间变量2 intstrlen(chars[]) {inti;while(s[i] !='\0')++i;returni; }
strlen函数的3种实现方法 //第一种方法:#include<stdio.h>intmy_strlen(char*str){intret=0;while(*str){str++;ret++;}returnstr;}intmain(){char*p="abcdef";printf("%d\n",my_strlen(p));return0;}第二种方法:#include<stdio.h>intmy_strlen(char*str){char*left=str;while(*str){str++;}...
模拟实现strlen函数的方法有多种,以下是三种常见的方法: 方法一:计算器实现 解析: 在while循环中,每次迭代都会检查当前字符是否为\0。如果不是,即还没有到达字符串的末尾,count就会增加1,表示又发现了一个新的字符。然后,str指针通过后缀自增操作str++移动到下一个字符。当str指向字符串的结束符\0时,循环结束,...
int len = strlen(arr); printf("len = %d\n", len); return 0; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 🚩 运行结果: 6 二、模拟实现 strlen(介绍三种方法) 法1:计数器(需创建临时变量) 💬 模拟实现 strlen 函数: #include <stdio.h> ...
https://cplusplus.com来查看一下strlen的原型 这里我们可以看出,strlen的参数是一个const修饰的指针,返回类型是size_t(无符号整形),返回的是一个string的长度。strlen的工作方式是在遇到'\0'之后停止计数,然后返回字符串的长度,那么知道以上内容之后我们就可以自己来模拟实现自己的my_strlen函数了 ...
一、循环遍历法:这是实现strlen函数最基础的方法。函数从字符串的第一个字符开始,逐个检查每个字符是否为终止字符'\0'。当遇到终止字符时,函数返回已检查的字符数量,即字符串的长度。这种方法虽然简单易懂,但由于需要逐个检查字符,效率相对较低。二、指针运算法:在C语言中,字符串实际上是一个字符...