首页 > 试题广场 >

在windows下,写出运行结果。

[填空题]
windows下,写出运行结果。
char str[]="Hello";
char *p=str;
int n=10;
sizeof(str)=1
sizeof(p)=2
sizeof(n)=3
void func(char str[100]){}
sizeof(str)=4
查了好久才找好的答案,现在分享一下^O^ 第一题没有固定数组长度的数组,别忘记‘\0’;所以是1*6=6 第二题是问地址的长度,在32位系统中是4,64位中是8; 第三题,就是指int的长度,为4个字节,注意在16位系统中为2字节,在32位才是4字节; 第四题:原来str[100]和str[]和*str一样,只要没有指定数组元素,调用sizeof()就返回指针的大小,这样跟第二题一样啦!
编辑于 2017-09-07 20:14:49 回复(0)
第四小题因为 str 在函数定义的大括号外,所以str还是最开始的str,它的长度为6
发表于 2017-08-07 06:10:14 回复(0)
第四小题是因为用数组名作函数实参时,向形参传递的是数组首元素的地址。所以sizeof(str)= 4 
发表于 2021-08-10 19:37:36 回复(0)
6 1 4 100?
发表于 2017-08-07 14:50:30 回复(1)