gpt4 book ai didi

C 程序 : Enter Number, 输出编号不同

转载 作者:行者123 更新时间:2023-11-30 21:25:35 25 4
gpt4 key购买 nike

我已经学习 C 语言有一段时间了。我下载了 Visual Studio,它对我来说是新使用的(通常我使用 Code::Blocks)来编译程序。这是我的问题,我只编写了如下基本代码:

   #include <stdio.h>
#include <stdlib.h>

int main()
{
int a;
printf("Hello World!\n");
printf("How are you doing?\n");
printf("Put in your ID: ");
scanf("%d", &a);
printf("Your ID is: %d\n",a);

return 0;
}
例如,当我运行它时;输入身份证号码:1234567890,它显示 1234567890 完全相同。

但是当我输入更长的数字:12345678900,它显示 3755744308。

我要么忘记了,要么无法弄清楚代码或程序出了什么问题,所以我想寻求建议。

谢谢

最佳答案

int 在你的情况下是 4 字节长的数据类型。数字12345678900以十六进制表示为0x2DFDC1C34,可以看出它占用了超过4个字节。因此它被截断为 4 个字节 0xDFDC1C34,即十进制的 3755744308

关于C 程序 : Enter Number, 输出编号不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816804/

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