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

n00*_*r22 0 c printing if-statement input 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.");
}
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 6

目前您的if病情会接受任何华氏温度大于高于-100更少100.这意味着每个人都会进入那个if声明.您可能打算使用AND代替:

if (F > -100 && F < 100) {
    // logic here
}
Run Code Online (Sandbox Code Playgroud)