【问题标题】:Use variable as operator for calculation C使用变量作为计算 C
【发布时间】:2013-07-06 06:58:48
【问题描述】:

我正在寻找一种使用变量而不是运算符来评估算术运算的方法。 这是一个例子:

char op1 = '+';
char op2 = '/';
int i = 0;
i = 4 op1 5 op2 3;

我不知道它在 C 中是否可能。但是,如果可能的话.. 会很棒。 谢谢..

【问题讨论】:

    标签: variables char operators expression arithmetic-expressions


    【解决方案1】:

    您可以通过一种方式来看待这个问题,是的,您可以使用“if(random_var == '+')”或类似的东西,或者您可以使用 const 定义的变量:

    #include<stdio.h>
    #define plus +
    #define minus -
    
    main(){
    printf("%d",5 plus 6 minus 1);
    }
    

    输出将是预期的 10 (5 + 6 - 1 = 10)

    -> const 定义的变量必须与数字分开

    【讨论】:

      【解决方案2】:

      不,这是不可能的。当 C 编译器解析代码行时,它对运算符和变量的处理完全不同。没有将变量解释为运算符的机制。

      你当然可以用一个函数来模拟这个过程:

      if ( op == '+' )
        return a+b;
      else if ( op == '-' )
        return a-b;
      else if . . .
      

      但是当你有两个以上的操作数时,祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-16
        • 2020-10-01
        • 2017-09-16
        • 2015-09-17
        • 2011-12-05
        • 2016-07-12
        • 1970-01-01
        相关资源
        最近更新 更多