浮点数给出非常大的答案(C)

Float value giving extremely large answer (C)

我是 C++ 的新用户,我想知道为什么我的计算会产生极其荒谬的结果。这是我遇到问题的部分代码。

printf("Please enter the length of side:\n");
scanf("%.f", &lengthCube);
volume=lengthCube*lengthCube*lengthCube;
printf("The volume of this cube is %.f", volume);

volumelengthCube 都被定义为 float 值。此处的测试值为 10,给出的答案为 -13798...(一个非常非常长的数字)。对此问题的任何帮助将不胜感激。谢谢!

您为 scanfprintf 使用了错误的格式 - 应该是 "%f",而不是 "%.f"

scanf() 格式字符串中删除 .(最好从 printf() 格式字符串中删除,除非您知道它导致 printf() 做什么) .

此外,这种 I/O 在 C++ 中基本上已弃用。你的问题真的是C.