<分区>
F = (C * 9/5 ) + 32 和 F = (9/5 * C) + 32 产生两个不同的结果,尽管 C 的输入相同。我意识到运营商有某种优先权,但我不确定。乘法在除法之前吗?
输入 20 在第一种情况下给出的华氏温度值为 68(正确值),在第二种情况下为 52。
#include<stdio.h>
int main()
{
float cel , fahr ;
printf("Enter the temperature(C): ");
scanf("%f",&cel);
fahr = (9/5 * celt is ) + 32;
printf("\nThe temperature in fahranheit is %f ",fahr);
}
预期结果是 68,但上面代码的结果是 52。如果我切换“9/5”和“cel”的位置,它会给出正确的结果。这是为什么?