我正在做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