字符串长度,不使用strlen函数。

手动计算字符串长度
本文介绍了一个不使用系统strlen函数的手动计算字符串长度的方法。通过一个简单的C语言程序,演示了如何遍历字符串直到遇到终止符来计算其长度,并输出长度和字符串内容。

题目描述
给定一个字符串,计算其有效长度,最终输出字符串长度及该字符串内容。不要使用系统提供的strlen函数。

输入要求
输入一个字符串,以换行符结束。字符串长度不会超过100。

输出要求
输出有效长度及字符串内容。

输入样例
world

输出样例
5 world

#include<stdio.h>
int mylen(char *p)          
{int n;
 n=0;
 while (*p!='\0')
  {n++;
   p++;
  }
 return(n);
}    //设计求字符串长度的函数
int main()
{
char str[101];
int len=0;
gets(str);
len=mylen(str);  //调用函数求字符串长度
printf("%d ",len);
printf("%s\n",str);
return 0;
}
### 手动计算字符串长度的方法 在 C 语言中,可以通过遍历字符串直到遇到终止符 `\0` 来手动计算字符串长度。这种方法需要调用 `strlen()` 函数。 以下是通过定义自定义函数来实现这一功能的具体方法: #### 自定义函数实现 可以编写一个名为 `custom_strlen` 的函数,该函数接受一个指向字符的指针作为参数,并逐个检查字符直至找到字符串结束标志 `\0`。每读取到一个有效字符,则计数器加一[^2]。 ```c #include <stdio.h> // 定义 custom_strlen 函数用于计算字符串长度 int custom_strlen(const char *str) { int count = 0; while (*str != '\0') { // 遍历字符串直到遇到 \0 count++; str++; // 移动指针至下一个字符位置 } return count; // 返回统计得到的字符数量 } int main() { const char input[] = "这是一个测试字符串"; // 输入任意字符串 printf("字符串 \"%s\" 的长度为 %d\n", input, custom_strlen(input)); return 0; } ``` 上述代码展示了如何创建并使用 `custom_strlen` 函数来替代标准库中的 `strlen` 功能。此方式仅适用于 ASCII 字符串也支持多字节编码如 UTF-8 编码下的汉字等复杂情况[^3]。 需要注意的是,当处理含有特殊字符或者非英文字符组成的字符串时,可能还需要考虑字符集以及编码格式的影响以确保准确性。 ### 注意事项 对于字符数组而言,如果要区分实际存储的数据量与逻辑上的可见部分(即忽略掉结尾处多余的未初始化区域),则需清楚理解 `sizeof` 和 `strlen` 的差异所在。前者会给出整个分配给变量的空间大小包括最后那个零字节在内的总位元组数目;后者仅报告从第一个元素起到遇见首个 NUL 前为止的有效序列长度
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值