C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – “基于值”OR运算符的常用术语大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
只是一个简单的问题
printf("%d",99 || 44) prints "1" in C
 print 99 || 44 prints "99" in perl

有两种不同的评估方式.每个人都有名字吗?

编辑:我很想知道与C相比,这个Perl评估是如何被普遍调用的.当你说“C example是X,而perl示例不是X,而是Y”时,你将使用哪些单词用于X和Y.“短路“不是我想要的.

解决方法@H_262_10@
C版本使用||作为两个值之间的逻辑OR. 44和99都在C中求值为真,因为它们不是0,因此它们之间的OR结果返回1(C中的AKA为真)

在那个特定的perl片段中,||是null-coalescing operator,一个二进制文件,如果第一个参数为null,则计算第二个参数,否则计算第一个参数.由于99是第一个参数而不是null,因此返回并打印.

编辑:感谢Evan的clafication:|| perl中的operator不是null-coalescing运算符,如果LHS求值为false,则返回RHS,否则返回LHs. //是“正确的”null-coalescing运算符.

这是perl中评估为false的值列表(from wikipedia)

$false = 0; # the number zero
$false = 0.0; # the number zero as a float
$false = 0b0; # the number zero in binary
$false = 0x0; # the number zero in hexadecimal
$false = '0'; # the String zero
$false = ""; # the empty String
$false = undef; # the return value from undef
$false = 2-3+1  # computes to 0 which is converted to "0" so it is false

大佬总结

以上是大佬教程为你收集整理的c – “基于值”OR运算符的常用术语全部内容,希望文章能够帮你解决c – “基于值”OR运算符的常用术语所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。