这个print语句应该输出什么呢?

这个print语句应该输出什么呢?

$foo = 111;
print $foo & 255 + 1,“\n";

如果是print ($foo & 255) + 1, "\n";呢(这个是programming perl书中的代码)


QUOTE:
原帖由 andy820303 于 2008-4-22 17:34 发表
$foo = 111;
print $foo & 255 + 1,“\n";

如果是print ($foo & 255) + 1, "\n";呢(这个是programming perl书中的代码)

涉及到位运算.结果人是能难算出来的..看看位运算相关的资料吧.
第一个结果是0,这个我也不明白,难道& 优先级 低于 + ?
第二个没有任何输出,因为print如果右接括号,则默认该括号为print的参数,上边那个是print的返回值+1, "\n";
希望大牛们不要鄙视我,我这样理解的。。。
加上
use strict;
use warnings;
你就明白了
运算优先级可以参看c语言的


QUOTE:
原帖由 churchmice 于 2008-4-22 19:21 发表

运算优先级可以参看c语言的

or perldoc perlop
是优先级的问题!

谢谢大家!