我正在寻找一种使用变量而不是运算符来评估算术运算的方法。这是一个例子:
char op1 = '+';
char op2 = '/';
int i = 0;
i = 4 op1 5 op2 3;
我不知道它是否可能在 C 中。但是,如果可能的话.. 会很棒。谢谢..
我正在寻找一种使用变量而不是运算符来评估算术运算的方法。这是一个例子:
char op1 = '+';
char op2 = '/';
int i = 0;
i = 4 op1 5 op2 3;
我不知道它是否可能在 C 中。但是,如果可能的话.. 会很棒。谢谢..
不,这是不可能的。当 C 编译器解析代码行时,它对运算符和变量的处理完全不同。没有将变量解释为运算符的机制。
你当然可以用一个函数来模拟这个过程:
if ( op == '+' )
return a+b;
else if ( op == '-' )
return a-b;
else if . . .
但是当你有两个以上的操作数时,祝你好运。
有一种方法可以查看这个问题,是的,您可以使用 "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 定义的变量必须与数字分开