我是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的答案......(非常长的数字)。任何有关此问题的帮助将不胜感激。谢谢!
答案 0 :(得分:3)
您使用的错误格式为scanf
和printf
- 它应为"%f"
,而不是"%.f"
。
答案 1 :(得分:1)
从.
格式字符串中删除scanf()
(最好是从printf()
格式字符串中删除,除非您知道它导致printf()
做什么)。< / p>
此外,这种I / O在C ++中基本上已被弃用。你的问题实际上是C。