使用变量作为运算符进行计算C.

时间:2013-07-08 20:14:20

标签: variables char operators expression arithmetic-expressions

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

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

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

2 个答案:

答案 0 :(得分:0)

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

您当然可以使用函数模拟该过程:

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

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

答案 1 :(得分: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定义的变量必须与数字分开