标题:自己编的教材后的习题,对运算结果不能理解,请大家指点。
只看楼主
C1014159
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-5
 问题点数:0 回复次数:7 
自己编的教材后的习题,对运算结果不能理解,请大家指点。
main()
{
int i;
i=sizeof("hello");
printf("i=%d",i);
}


该程序运算结果为i=6
但我认为应该是5。
请问我得错误在哪?
搜索更多相关主题的帖子: 习题 教材 运算 结果 
2007-10-14 22:26
C1014159
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-5
得分:0 
我已经明白了,非常不好意思
2007-10-14 22:34
entizh
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-6
得分:0 
2007-10-14 22:44
鸿工作室
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-10-14
得分:0 

2007-10-14 23:26
lee198409
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-15
得分:0 

sizeof就是6
strlen就是5

2007-10-15 01:13
a345403435
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-10-11
得分:0 
tong yi
2007-10-15 08:37
hh442904469
Rank: 1
等 级:新手上路
威 望:1
帖 子:72
专家分:0
注 册:2007-10-16
得分:0 

因为hello是个字符串,在内存中存储的时候系统会在后加一个"\0"这是表示字符串结束的标志,系统会把这一个当做是一个字符.所你5+1就等于6咯.


下辈子不再学编程
2007-10-17 08:55
vsky
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-8-19
得分:0 
能解释一下5楼的含义不   为什么strlen就是5啊 ??
2007-10-17 09:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-177648-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.369660 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved