首页 > 解决方案 > round() 函数产生一个奇怪的数字

问题描述

我声明了双变量 t 和 tau,并为它们赋值 1 和 0.00001 这行代码在控制台中生成 536870912。可能是什么原因?

printf("%i\n",round(t/(tau*double(2))));

顺便说一句,我在 C++ 编译器中编写代码,但实际上它是 C。

标签: c++cprintf

解决方案


round返回一个double。打印它%i是未定义的行为。

用于%f打印double

printf("%f\n",round(t/(tau*double(2))));

推荐阅读