社区
C语言
帖子详情
关于sizeof 和 strlen 的问题? 谢谢!
DaneWoo
2002-08-29 02:41:20
#include <iostream.h>
#include <string.h>
void main()
{
char* s1="helloworld";
int nLens1=sizeof s1;
int nLens12=strlen(s1);
cout<<nLens1<<","<<nLens12<<endl;
}
为何在VC6.0中的输出结果是 4,10?究竟 sizeof() 和 strlen()有何不同?
...全文
57
9
打赏
收藏
关于sizeof 和 strlen 的问题? 谢谢!
#include #include void main() { char* s1="helloworld"; int nLens1=sizeof s1; int nLens12=strlen(s1); cout<<nLens1<<","<<nLens12<<endl; } 为何在VC6.0中的输出结果是 4,10?究竟 sizeof() 和 strlen()有何不同?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
step_by_step
2002-08-30
打赏
举报
回复
to stidio_zhougang(回头是岸)
系统会给字符串常量自己加上去的。不明白的话看我改写的那个程序。
sdx_none
2002-08-29
打赏
举报
回复
机器字长为32位。
1。因为数据类型的长度=SIZEOF(******),sizeof(s1)就是char型指针的长度,就是4
2。字符串的长度=strlen(******),所以strlen(s1)是字符串的长度,当然是10了。
stidio_zhougang
2002-08-29
打赏
举报
回复
TO:step_by_step(脚印)
不要忘了s1后面还有一个'\0',而用strlen()则不把这个算在内。
flyaramy
2002-08-29
打赏
举报
回复
没啥说的了!同意上边的兄弟
step_by_step
2002-08-29
打赏
举报
回复
看下面这段程序你会理解的更透彻
#include <iostream.h>
#include <string.h>
void main()
{
char s1[]="helloworld";//注意这一句和上一个程序的差别!!
int nLens1=sizeof s1;
int nLens12=strlen(s1);
cout<<nLens1<<","<<nLens12<<endl;
}
结果就不一样了,是
11,10
blh
2002-08-29
打赏
举报
回复
sizeof 适用于计算变量的存储空间,它的值在编译期间已经计算,sizeof(p) p为指针,在32位系统中指针长4字节,所以为4
不能时使用sizeof计算字符串的长度
但可以使用sizeof计算数组的长度度如
int s3[]={1, 2, 3, 4, 5, 6, 7};
int nLens13=sizeof(s3) / sizeof(int);
nLens13 = 7
Kklee
2002-08-29
打赏
举报
回复
情况就是楼上几位兄弟说的这样
blue_coco
2002-08-29
打赏
举报
回复
sizeof 是求一个数据类型的大小。
eg: sizeof (int), sizeof (char), sizeof (struct).....
strlen 是求字符串的长度。
sizeof s1 相当于求指针的大小,当然是4
strlen 是长度。
darkelf
2002-08-29
打赏
举报
回复
呵呵,不管是VC,任何一个编译器输出都是这样的,机器字长为32位的
因为sizeof(s1)就是指针的长度,就只有4
而strlen(s1)是字符串的长度,当然是10了。
strlen
和
sizeof
的区别
本文详细解析了C语言中
strlen
和
sizeof
的区别。
strlen
用于计算字符串长度,遇到'
sizeof
()和
strlen
的区别
本文详细介绍了
sizeof
()和
strlen
()的区别。
sizeof
()是运算符,编译时计算值,参数多样;
strlen
()是函数,运行时计算,参数须为字符型指针。还通过多个例子说明二者计算结果不同,如对数组、指针等的计算,帮助理解其含义。
C语言中
strlen
和
sizeof
的区别
博客介绍了
strlen
和
sizeof
的区别与使用。
strlen
是库函数,计算'\0'前字符个数,不包含'\0',只能用char做参数;
sizeof
是运算符,计算所占内存大小,包含'\0',可用类型做参数。还给出了它们在数组中的使用示例及注意事项。
sizeof
和
strlen
的小知识
本文主要介绍了C语言中
sizeof
和
strlen
的使用。
sizeof
是单目操作符,用于计算变量或类型所占内存空间大小;
strlen
是库函数,需引入string.h头文件,用于求字符串长度。同时对二者进行了对比,强调使用
strlen
时字符串需有\\0才能得到正确结果。
【C语言】
sizeof
和
strlen
的区别
本文主要介绍了
sizeof
和
strlen
的异同,
sizeof
是关键字,统计变量大小;
strlen
是库函数,求字符串长度。还阐述了数组名意义的两个特例,最后结合一维、字符、二维数组实例,对
sizeof
和
strlen
的易错点进行了解析。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章