浮点数给出非常大的答案(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);
volume
和 lengthCube
都被定义为 float
值。此处的测试值为 10,给出的答案为 -13798...(一个非常非常长的数字)。对此问题的任何帮助将不胜感激。谢谢!
您为 scanf
和 printf
使用了错误的格式 - 应该是 "%f"
,而不是 "%.f"
。
从 scanf()
格式字符串中删除 .
(最好从 printf()
格式字符串中删除,除非您知道它导致 printf()
做什么) .
此外,这种 I/O 在 C++ 中基本上已弃用。你的问题真的是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);
volume
和 lengthCube
都被定义为 float
值。此处的测试值为 10,给出的答案为 -13798...(一个非常非常长的数字)。对此问题的任何帮助将不胜感激。谢谢!
您为 scanf
和 printf
使用了错误的格式 - 应该是 "%f"
,而不是 "%.f"
。
从 scanf()
格式字符串中删除 .
(最好从 printf()
格式字符串中删除,除非您知道它导致 printf()
做什么) .
此外,这种 I/O 在 C++ 中基本上已弃用。你的问题真的是C.