0

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

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

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

4

2 回答 2

0

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

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

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

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

于 2013-07-12T14:13:12.250 回答
0

有一种方法可以查看这个问题,是的,您可以使用 "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 定义的变量必须与数字分开

于 2019-08-10T11:03:20.897 回答