You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中整数如何存储?为何程序输出出现16777216?

C语言整数存储与代码输出疑问

问题列表

  • 在C程序中整数是如何存储的?
  • 数字1在内存中是否以00000001 00000000 00000000 00000000的形式存储?
  • 运行以下C代码后,为何输出中会出现16777216?

测试代码

#include <stdio.h>
int main()
{
    unsigned int a[3] = {1, 1, 0x7f7f0501};
    int *p = a;
    printf("%d %p\n", *p, p);
    p = (long long)p + 1;
    printf("%d %p\n", *p, p);
    char *p3 = a;
    int i;
    for (i = 0; i < 12; i++, p3++)
    {
        printf("%x %p\n", *p3, p3);
    }
    return 0;
}

程序输出截图

程序输出


内容的提问来源于stack exchange,提问作者sudoer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:20:42