gpt4 book ai didi

c - 字节序问题?

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:35 27 4
gpt4 key购买 nike

以下代码的输出是什么?

#include<stdio.h>
int main()
{
int a[4]={4096,2,3,4};
char *p;
p=a;
printf("\n %d",(int)*(++p));
return 0;
}

sizeof int = sizeof(void*) = 4 bytes

根据我的说法,输出在小端机器上应该是 16,在大端机器上应该是 0。我说得对吗?

最佳答案

4096 是 0x1000,所以(一旦你让它编译)你会期望 16 具有小端表示,而 0 具有大端表示,除非 int 是 24 位宽(即 16 位)。

所有这些都假设 CHAR_BIT == 8,并且没有填充位的有趣业务。在这些假设下,使用 sizeof(int) == 4 进行的编辑也排除了 24 位 int

关于c - 字节序问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com