[英]Why entering a float value in the integer variable is giving me strange answer?
[英]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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.