surgeMing 发表于 2021-4-24 17:42:35

请问第一段代码定义一个bool型变量有什么优点?(两段代码都能实现简单的四则运算)

第一段代码:
#include <stdio.h>
#include <stdbool.h>

int main()
{
      float op1, op2;
      char ch;
      float result;
       bool invalid = false;

      printf("请输入式子:");
      scanf("%f %c %f", &op1, &ch, &op2);

      switch (ch)
      {
                case '-': op2 = -op2; // no break
                case '+': result = op1 + op2; break;
                case '*': result = op1 * op2; break;
                case '/':
                        if (op2 != 0)
                        {
                              result = op1 / op2;
                              break;
                        }
                        else
                        {
                              invalid = true;
                              break;
                        }
      }

      if (invalid)
      {
                printf("除数不能为零!\n");
      }
      else
      {
                printf("结果是:%.2f\n", result);
      }

      return 0;
}

第二段代码只截取部分不同:
switch (ch)
      {
                case '-':op2 =-op2;
                case '+':result = op1 + op2;break;
                case '*':result = op1 * op2;break;
                case '/':
                        if (op2 != 0)
                        {
                              result = op1 / op2;break;
                        }
                        else
                        {
                              printf("除数不能为零!\n");
                              return 0;
                        }
      }

      printf("结果为:%.2f\n",result);

      return 0;
}
                              

wp231957 发表于 2021-4-25 08:06:12

只是个人习惯问题,我觉得第二个写法也很好

yuxijian2020 发表于 2021-4-25 17:29:38

第一个代码 多定义了一个变量, 多了一次判断有啥好的
页: [1]
查看完整版本: 请问第一段代码定义一个bool型变量有什么优点?(两段代码都能实现简单的四则运算)