有谁知道为什么
print "$str is " , ispalindrome($str)?"":" not" , " a palindrome\n"
打印“女士是回文”
但
print "$str is " . ispalindrome($str)?"":" not" . " a palindrome\n"
打印“1”?
答案 0 :(得分:19)
条件运算符(? :
)的优先级高于逗号,但低于句点。因此,第一行被解析为:
print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")
而第二个解析为:
print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))
后一行应该实际打印“”,而不是“1”;实际上你得到的是什么?