【发布时间】:2017-02-23 01:04:26
【问题描述】:
这段代码运行得几乎完美,但它似乎忽略了我的 if else 语句。该程序的目标是仅转换 -100 到 100 之间的温度,但由于某种原因,我的代码仍在转换输入的任何数字。这很令人沮丧,因为我尝试了几种不同的方法,但程序从不进入 else 语句并且总是运行 if 语句,即使说我输入了 10000。谢谢您的任何建议
double converter()
{
float C, F, S;
int input;
printf ("Please enter a temperature in Fahrenheit:");
scanf ("%f", &F);
if (F > -100 || F < 100) {
C = FCR * (F -32);
printf ("%f F ==> %f C ", F, C);
printf ("%f", F);
}
else {
F = pow(C, 3);
printf ("Invalid Fahrenheit temperature.");
}
}
【问题讨论】:
-
C在您的else子句中未初始化,以任何方式设置F = C^3有什么意义? -
如果 F 为 150,
F > -100 || F < 100为真,因为150 > -100
标签: c if-statement input printing conditional-statements