suchenxiang 发表于 2022-2-4 00:22:32

我将s1e12一题改错改成了if else的表达方式,但是结果一直显示为1.2,问题出在哪呢

//我理想的正确运行是输入确定的值然后打印出与之相对应确定的值
#include <stdio.h>

int main()
{
      float i;

      printf("请输入一个小数:");
      scanf("%f", &i);

                if(i=1.2)
                                {printf("1.2\n");
                                }
                else if(i=2.2)
                                {printf("2.2\n");
                                }
                else if(i=3.2)
                                {printf("3.2\n");
                                }
                else if(i=4.2)
                                {printf("4.2\n");
                                }
                else if(i=5.2)
                                {printf("5.2\n");
                                }
      return 0;
}

wp231957 发表于 2022-2-4 07:48:39

一个等号是赋值语句
浮点数判断是否相等不能用==

名字只有七个字 发表于 2022-2-4 09:21:06

#include <stdio.h>

int main()
{
      float i;

      printf("请输入一个小数:");
      scanf("%f", &i);

                if(i==1.2)
                              {printf("1.2\n");
                              }
                else if(i==2.2)
                              {printf("2.2\n");
                              }
                else if(i==3.2)
                              {printf("3.2\n");
                              }
                else if(i==4.2)
                              {printf("4.2\n");
                              }
                else if(i==5.2)
                              {printf("5.2\n");
                              }
      return 0;
}
这是正确的代码
页: [1]
查看完整版本: 我将s1e12一题改错改成了if else的表达方式,但是结果一直显示为1.2,问题出在哪呢