gpt4 book ai didi

c - 在 C 中打印 long int 值

转载 作者:太空狗 更新时间:2023-10-29 16:26:28 31 4
gpt4 key购买 nike

我有两个 long int 类型的变量,如下所示:

long int a=-2147483648, b=-2147483648;
a=a+b;

printf("%d",a);

我得到零。我尝试将类型更改为 long long int,但我仍然没有得到正确的答案。

最佳答案

您必须使用 %ld 来打印一个 long int,并且使用 %lld 来打印一个 long long int.

请注意,只有 long long int 保证足够大以存储该计算的结果(或者,实际上,您正在使用的输入值)。

您还需要确保在 C99 兼容模式下使用编译器(例如,使用 gcc 的 -std=gnu99 选项)。这是因为 long long int 类型直到 C99 才被引入;尽管许多编译器在 C90 模式下将 long long int 实现为扩展,但常量 2147483648 可能具有 unsigned int 类型C90 中的 unsigned long。如果在您的实现中是这种情况,那么 -2147483648 的值也将具有无符号类型,因此将是正数,并且总体结果将不是您所期望的。

关于c - 在 C 中打印 long int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779570/

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