9

为什么

print "$str is " , ispalindrome($str) ? "" : " not" , " a palindrome\n" 

打印“女士是回文”,但是

print "$str is " . ispalindrome($str) ? "" : " not" . " a palindrome\n"

印刷 ””?

4

1 回答 1

20

条件运算符 ( ? :) 的优先级高于逗号,但低于句点。因此,第一行被解析为:

print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")

而第二个被解析为:

print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))
于 2011-09-22T15:06:30.287 回答