社区
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()有何不同?
...全文
33
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
作业
写回复
配置赞助广告
用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了。
sizeof
和
strlen
的区别
sizeof
和
strlen
经常被大家拿来作对比,但是他们之间的区别还是很大的。 一、定义不同:
sizeof
是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 ...
C语言中
sizeof
与
strlen
区别
sizeof
和
strlen
有本质上的区别。
sizeof
是C 语言的一种单目运算符,如++、–等,并不是函数,
sizeof
的优先级为2 级,比/、% 等3 级运算符优先级高,
sizeof
以字节的形式给出操作数的存储空间的大小。而
strlen
是...
关于
sizeof
和
strlen
和数组
你真的了解
sizeof
和
strlen
吗?
sizeof
与
strlen
的理解与区分
但是在
sizeof
(数组名)的情况下,这里的数组名表示整个数组,计算得到的是整个数组的字节数。3、关注内存中是否有'\0',如果没有'\0',就会持续往后找,可能造成越界。因为得到的结果是非负整数,所以
strlen
函数的...
sizeof
和
strlen
的区别及使用详解
首先我们来看一下
sizeof
和
strlen
的区别:
sizeof
操作符的结果类型为size_t(The
sizeof
keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). ...
C语言
70,024
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章