gpt4 book ai didi

c - 调试时的以下 C 语句显示 k 的值为 -2。为什么?实际上,它应该显示-2.000000

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

#include <stdio.h>

int main(void)
{
int j = -5;
float k = j / 2;
printf("%d\n", j % 2);
printf("%1.1f\n", k);
}

上面的代码在调试时显示k的值为-2。为什么?实际上,它应该显示 -2.000000

最佳答案

-2-2.000000 是相同的值。这只是打印多少位精度的问题。

如果在打印 k 时省略精度说明符,它将使用默认值 6:

printf("%f\n", k);

输出:

-2.000000

对于gdb来说,它只会在打印float时显示所需的有效位数。由于值 -2 可以精确表示,因此它不会显示任何额外的数字。

关于c - 调试时的以下 C 语句显示 k 的值为 -2。为什么?实际上,它应该显示-2.000000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853291/

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