甲骨文校园招聘2017:PERL程序趣味题目!

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 21:33:51
$i=99;
print ($i++)*2;

谁知道为什么PERL算出的结果是99?

首先 ($i++)说明在执行这句话时候 $i还是99
相当于
$i=99;
print ($i)*2;
$i=$i+1;

另外print ($i++)是一个函数调用 与*2无关

如果是如下的情况又不同了

print 20*($i++); 1980
print 20*(++$i); 2000
print 20*$i++; 1980
print $i++*20; 1980
print ++$i*20; 2000