社区
C语言
帖子详情
关于strlen这个函数的问题
zyhserry
2010-06-16 04:40:09
char array[30];
printf("strlen(array) = %d\n", strlen(array));
就这两句代码,打印出来的长度是64,我定义的是30啊,不解!
于是我重新定义char array[64];
结果打印出来是96
我重新定义成char array[32];
结果打印出来是64
什么原因啊????
我身上没分,只能散那么多了+_||
...全文
87
7
打赏
收藏
关于strlen这个函数的问题
char array[30]; printf("strlen(array) = %d\n", strlen(array)); 就这两句代码,打印出来的长度是64,我定义的是30啊,不解! 于是我重新定义char array[64]; 结果打印出来是96 我重新定义成char array[32]; 结果打印出来是64 什么原因啊???? 我身上没分,只能散那么多了+_||
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zyhserry
2010-06-16
打赏
举报
回复
哦,好像是的
char array[30] = "";
printf("strlen(array) = %d\n", strlen(array));
我这么做以后,打印出来就是0了。。。
ok2210495
2010-06-16
打赏
举报
回复
strlen()函数的原理就是找第一个'\0'在哪里的,可能你的程序开辟char array[30]后没有多管闲事给array[30]中的某个赋值为'\0',执行strlen(array)了程序只是很死板地从array[0]开始往下找第一个'\0',找到array[29]了还没找到,不会停继续往下……
你可以用debug看看刚开辟char array[30]时那里面都是什么值吧
huanmie_09
2010-06-16
打赏
举报
回复
char array[30];
要区分
sizeof(array)和strlen(array)的区别.
strlen是计算从array首地址开始,直到遇到字符串结束符'\0'为止,并且不包括'\0'的字符个数
zhangweiit
2010-06-16
打赏
举报
回复
楼主,你这个得到的64,32,其实是一个不确定的值
char array[30];
这个数组还没经过初始化,就直接用strlen求字符长度,是不对的
你用sizeof可以确定,因为sizeof会根据数组定义的类型与大小来得出占用空间
但是strlen只会从数组的头的内存地址开始,直到找到'\0'的字符,或是0才结束
这就是strlen与sizeof的一个重要区别
zyhserry
2010-06-16
打赏
举报
回复
char array[30];
printf("strlen(array) = %d\n", strlen(array));
main里就这两行代码,其它的没有
ok2210495
2010-06-16
打赏
举报
回复
你在array中给它加上字符串结束符'\0'没?
zyhserry
2010-06-16
打赏
举报
回复
也就是说,如果数组大小不是2的整次幂,则先变成2的整次幂,再加上32,why?
【C语言】
strlen
()
函数
strlen
函数
:计算的是字符串str的长度,从字符的首地址开始遍历,以 '\0' 为结束标志,然后将计算的长度返回,计算的长度并不包含'\0'。所以使用时,需规范初始化字符数组。本文也详细描述了实现
strlen
函数
功能的三种方法。......
字符串
函数
:
strlen
函数
,strcpy
函数
,strcat
函数
,strcmp
函数
目录:1.字符串
函数
strlen
(1)
strlen
函数
(2)
strlen
的使用a.代码b.运行结果(3)模拟实现
strlen
函数
a.代码b.运行结果(4)注意:2.字符串
函数
strcpy(1)strcpy
函数
(2)strcpy的使用a.代码b.运行结果c.错误举例(3)模拟实现strcpya.代码3.字符串
函数
strcat(1)strcat
函数
1.字符串
函数
strlen
(1)
strlen
函数
strlen
函数
返回的是在字符串中’\0’前面出现的字符的个数 (2)
strlen
的使用 a.代码 #inclu
自己动手写一个
strlen
()
函数
strlen
()
函数
:
strlen
所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0’)。 那么我们就来尝试一下自己动手写一个
strlen
函数
。 方法一: #include <stdio.h> #include <assert.h> int my_
strlen
(const char* s) { char* p = s; assert(p
C语言三种方法实现
strlen
()
函数
文章目录C语言实现
strlen
()
函数
一、使用一个变量count作为计数器二、使用递归,不创建临时变量来实现
strlen
()
函数
C语言实现
strlen
()
函数
这里介绍两种实现方法: 一、使用一个变量count作为计数器 '//编写一个
函数
实现
strlen
()功能' int my_
strlen
(char* arr1) { int count = 0; while (*arr1 != '\0') { count++; '//
函数
这里需要一个临时变量。' arr
strlen
函数
的用法及模拟实现
strlen
函数
的两种方法
strlen
函数
的用法及模拟实现
strlen
函数
的三种方法
strlen
函数
的用法二级目录三级目录
strlen
函数
的用法 1.
strlen
函数
的
函数
原型:size_t
strlen
(const char*str) 2. 二级目录 三级目录
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章