我正在寻找一种使用变量而不是运算符来评估算术运算的方法。 这是一个例子:
char op1 = '+';
char op2 = '/';
int i = 0;
i = 4 op1 5 op2 3;
我不知道它是否可能在C中。但是,如果它可能......会很棒。 感谢..
答案 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定义的变量必须与数字分开