- 论坛徽章:
- 24
|
原帖由 yui009 于 2008-5-28 14:00 发表 ![]()
如下操作,不可运行,会者请指点
math[4] = {'+','-','*','/'};
void calc(int val1, int val2, int n)
{
int result;
result = val1(math[n])val2;
}
C 不支持动态表达式,但是一些动态语言可以,比如 perl 。
#!/usr/bin/perl
$a = 2;
$b = 4;
$c = 0;
@math = ('+','-','*','/');
print '$a = ', $a, "\n";
print '$b = ', $b, "\n\n";
for ($i=0; $i<4; $i++)
{
$cmd = '$c = '.'$a'."$math[$i]".'$b';
print $cmd, "\n";
eval $cmd;
print '$c = ', $c, "\n\n";
}
|
|
|