user364464 Asked:2022-01-25 01:00:12 +0800 CST2022-01-25 01:00:12 +0800 CST 2022-01-25 01:00:12 +0800 CST 线。重复运算符 772 有两个指令: print "o" . "la" x 4 * 3, "\n"; print "ba" ."na" x4*3,"\n"; 如果在第一种情况下输出很明显:o0,那么为什么在第二条指令中输出会是baNaN而不是ba0? perl 1 个回答 Voted Best Answer extrn 2022-01-25T08:57:45+08:002022-01-25T08:57:45+08:00 乘法运算需要将字符串转换为数字,但以nan(不区分大小写)开头的字符串被解释为数值NaN(不是数字) say int "nanomachines" # NaN 就像,例如,以 , 开头的行inf被解释为Inf(+∞) say -int "information" # -Inf 在你的情况下 say int "na" x 4 # NaN 因为它int "nananana"返回一个特殊的数值 say int "la" x 4 # 0 因为它int "lalalala"只是假设字符串不包含前导数字并返回 0
乘法运算需要将字符串转换为数字,但以
nan
(不区分大小写)开头的字符串被解释为数值NaN
(不是数字)就像,例如,以 , 开头的行
inf
被解释为Inf
(+∞)在你的情况下
因为它
int "nananana"
返回一个特殊的数值因为它
int "lalalala"
只是假设字符串不包含前导数字并返回 0