gpt4 book ai didi

c++ - printf中的C语言计算

转载 作者:搜寻专家 更新时间:2023-10-31 00:12:50 25 4
gpt4 key购买 nike

#include <stdio.h>

int main(){
int x;
x = (10+20)*(1.0/2);
printf("%d", x);
return 0;
}

输出是

15

另一种形式:

#include <stdio.h>

int main(){
printf("%d", (10+20)*(1.0/2));
}

输出是

0

1.0/2在整数变量x中计算时为0.5,但是 1.0/2printf 中用 %d 计算时是 0(我认为...)

我无法理解这种情况...

此外,当我在第二个代码中将 %d 更改为 %f 时,输出为 15.000000

我在 Windows 8 中使用 DEV C++。

最佳答案

(10+20)*(1.0/2) 的类型是double,但是"%d" 需要一个int.

因此,您需要转换为 int :

printf("%d", (int) ((10+20)*(1.0/2)));

它与 "%f" 一起工作,因为它需要一个 double

关于c++ - printf中的C语言计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29141489/

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