我正在做C练习从C引起加上涉及使用浮动,我不能得到的结果也是一个浮动。我得到它在输入罚款阅读(据我所知),但问题必须在公式行。谁能告诉我我做错了什么?浮点数学在c得到随机数
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float inp1, inp2;
float result;
result = (inp1 - inp2)/(inp1 * inp2); /* formula */
printf("enter two values\n");
scanf("%f %f", &inp1, &inp2);
printf("(%.3f - %.3f)/(%.3f * %.3f)\n", inp1, inp2, inp1, inp2);
printf("%f\n", result);
}
输出提供了一些随机数(我不知道它叫什么),例如具有1.255和1.023的输入我得到的2656044210243861500000000000000000000.000000或类似的输出。倒数第二个printf正确显示输入。 我在做什么错?
我试过这个,但我真的不明白演员的工作方式。
result = ((float)inp1 - (float)inp2)/((float)inp1 * (float)inp2); //formula
和
result = (float)(inp1 - inp2)/(inp1 * inp2);
谢谢,工作!是否因为计算机在输入输入之前计算结果? – 2014-09-26 18:59:10
@Zak。计算机程序通常从上到下运行,而不是根据预定义的公式计算值 – 2014-09-26 19:12:14
@LưuVĩnhPhúc:并非必然(XSLT不),但对于C函数内部来说肯定是正确的。 (当在'main'之前放置函数时,*函数*当然不会运行“first”。) – usr2564301 2014-09-26 20:52:51