良辰北辰 发表于 2019-2-22 01:53:06

switch语句case甲鱼老师的减法疑问?

本帖最后由 良辰北辰 于 2019-2-22 01:59 编辑

#include <stdio.h>

int main()
{
      int op1, op2;
      char ch;
      float result;

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

      switch (ch)
      {
                case '-': op2 = -op2; // no break
                case '+': result = op1 + op2; break;
                case '*': result = op1 * op2; break;
                case '/': ......我想知道甲鱼老师的这个减法是怎么算的?谁能帮我解惑呢? 如:输入8-16,按照case '-': op2 = -op2; 不是8-(-16)了吗?{:9_241:} 是否是case '-': op2 = -op2;之后不加break让它继续运行下面的加法代码?从而得到8+(-16)呢?

jackz007 发表于 2019-2-22 03:14:28

本帖最后由 jackz007 于 2019-2-22 03:15 编辑

   你理解的没错,就是这个意思。

      当然,如果直接写成:
                case '-': result = op1 - op2; break;
      会更好。

页: [1]
查看完整版本: switch语句case甲鱼老师的减法疑问?