我的if else声明有什么问题?

时间:2017-02-23 01:04:26

标签: c if-statement input printing conditional-statements

这段代码几乎完美无缺,但似乎忽略了我的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.");
}
}

1 个答案:

答案 0 :(得分:6)

目前,您的if条件接受的任何华氏温度大于 <{1}}。这意味着每个温度都将输入-100声明。您可能打算使用AND代替:

100