C语言 23题求解释 谢谢

2025-03-08 13:18:03
推荐回答(3个)
回答1:

6。因为操作符sizeof计算的是变量值据点内存空间的字节数。sizeof i*i中,由于sizeof的优先级比*高,所以被解释为(sizeof i)*i。16位int系统下一个十进制数点2字节,所以结果是2*3==6。

回答2:

后面的是什么字?图片不完整。只能看到:sizeof i*i; 的......,猜想可能是:sizeof i*i; 的值。那么因为int类型数据在16位计算机是16位,所以 sizeof i*i; 的值就是:2(个字节)。

回答3:

上面写法等价于

i * sizeof(i)

我们知道16位计算机的话,int 是 2个字节的,因此 3*2 = 6.