注册 登录
编程论坛 新人交流区

自己编的教材后的习题,对运算结果不能理解,请大家指点。

C1014159 发布于 2007-10-14 22:26, 466 次点击
main()
{
int i;
i=sizeof("hello");
printf("i=%d",i);
}


该程序运算结果为i=6
但我认为应该是5。
请问我得错误在哪?
7 回复
#2
C10141592007-10-14 22:34
我已经明白了,非常不好意思
#3
entizh2007-10-14 22:44
#4
鸿工作室2007-10-14 23:26
#5
lee1984092007-10-15 01:13

sizeof就是6
strlen就是5

#6
a3454034352007-10-15 08:37
tong yi
#7
hh4429044692007-10-17 08:55

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

#8
vsky2007-10-17 09:41
能解释一下5楼的含义不   为什么strlen就是5啊 ??
1