gpt4 book ai didi

打印整数(由用户输入)的 C 程序当数字很大时输出错误

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

这是我的程序代码。

#include <stdio.h>

int main() {
int number;

printf("Enter an integer: ");

scanf("%d", &number);

printf("You entered: %d", number);
return 0;
}

如果我输入一个整数:12345678912345678结果显示:1578423886

为什么会发生这种情况?

最佳答案

问题是,在您运行的系统上,int 不够大,无法存储您尝试输入的整数(限制是特定于体系结构的,并且可以通过 INT_MAX 检查)。如果您将变量定义为 long long,它将能够保存更大的值(long long 在大多数常见架构上为 64 位),因此:

#include <stdio.h> 

int main() {
long long number;

printf("Enter an integer: ");
scanf("%lld", &number);

printf("You entered: %lld", number);
return 0;
}

输出:

Enter an integer: 12345678912345678
You entered: 12345678912345678

关于打印整数(由用户输入)的 C 程序当数字很大时输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328141/

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