C++ 有一个if-else,有一个none-Nor语句吗?
是否存在既没有a也没有B的C++ 有一个if-else,有一个none-Nor语句吗?,c++,C++,是否存在既没有a也没有B的语法?不,没有。编码“如果既没有a也没有B”: 或: 不可以。如果将与结合使用,则可以实现相同的效果(非)、&&(和)和| |(或) 最后一项与以下内容相同: if ( x != 1 && x != 2 ) { // do something } 虽然没有一个内置的语法来实现这一点,但我建议您先看一下,然后仔细研究。对这两个字段有足够的了解将允许您使用if–else if语法编写任何逻辑语句 编辑:要完全回答您的问题(尽管其他答案中已经这样做了),您可
语法?不,没有。编码“如果既没有a也没有B”:
或:
不可以。如果将与结合使用,则可以实现相同的效果代码>(非)、&&
(和)和| |
(或)
最后一项与以下内容相同:
if ( x != 1 && x != 2 ) { // do something }
虽然没有一个内置的语法来实现这一点,但我建议您先看一下,然后仔细研究。对这两个字段有足够的了解将允许您使用if–else if语法编写任何逻辑语句
编辑:要完全回答您的问题(尽管其他答案中已经这样做了),您可以这样写一个非此即彼的陈述:
if (!A && !B) { DoStuff(); }
哦。。。你想要“不是”这个关键词
VB添加的不是关键字
(通讯社8-19-2004)
微软公司已经宣布了这一视觉效果
Basic会将“不是”关键字添加到
语言。据媒体报道,
NET团队”用VB,我们想要
语言让你以你的思维方式工作。
广泛的可用性研究已经开始
向我们展示了
语言中没有添加任何内容。”
添加关键字将允许
例如语法
If ThisThing Ain't Nothing Then
如果这件事不算什么的话
根据消息来源,“我们只是
努力跟上时代的进步
英语,正如你所知,
变化的速度几乎和
技术本身。”VB团队
相信这一点,他们
觉得如果不包括
在这个版本中,它们可能会下降
在下一次考试之前,我们落后于英语
有机会更新VB。但是,
“不是”应该等同于什么
到在它最流行的形式中
上述代码行将转换为:
If ThisThing Is Nothing Then
如果这件事不算什么的话
然而,每个人的二年级英语
老师已经说得很清楚了“不是
没有什么“真正的意思”是正确的
“某物”,因为它是双重否定。
意思是正确的等价物将
是
如果这件事不算什么的话
微软并不急于赶工
通过这项决定,国家消息来源,
“看,在VB.NET Beta 1和Beta之间
2.我们不得不去,我们不想去
再经历一次。”
然而,语言纯粹主义者宣称
整个方法都被误导了,
注意“不是”是一种收缩
因为“我不是”,说“如果这件事
“我不是一无所有”只是语法不好。
他们说,更好的替代方案会
包括复活我不,比如“如果”
这件事我什么都不是。”。但即使
这可能还不够
语言学家Jacque Leblanc:“我坚持
那就是双重人格的永存
消极是造成这种情况的根本原因
问题,但到目前为止,还没有人真正
愿意讨论显而易见的问题
房间里的大象,真的吗
解决办法是允许“如果”
“那么,这个项目就有意义了。”
据报道,微软公司也被解雇了
尝试“AsIf”,“也许”,
和“完全”。此外,“捕获”
可能会被替换为“Doh!”,
“Finally”将替换为
“随便”
来源:给你:
class neither_t
{
bool lhv;
neither_t(bool lhv): lhv(lhv) {}
public:
bool nor(bool rhv) const
{
return !lhv && !rhv;
}
friend neither_t neither(bool lhv);
};
neither_t neither(bool lhv)
{
return neither_t(lhv);
}
#include <cstdio>
int main()
{
int x = 3;
if (neither(x == 1).nor(x == 2)) {
puts("OK");
}
}
class既不
{
布尔低杂波;
都不是(bool-lhv):lhv(lhv){}
公众:
布尔诺尔(布尔rhv)常数
{
返回!lhv&&!rhv;
}
既不交朋友也不交朋友(bool lhv);
};
都不(bool lhv)
{
既不返回也不返回(lhv);
}
#包括
int main()
{
int x=3;
if(既不是(x==1),也不是(x==2)){
卖出(“OK”);
}
}
是。C中的&&和| |运算符执行流控制,所有表达式都是语句,因此&&和| |构成流控制语句。表达式的项一直求值,直到其值已知为止,因此&&将执行一系列真表达式,| |将执行一系列假表达式。只要| | |(OR)的参数为false(NOT),它就可以被称为非此即彼的语句
bool a = fun1(), b = fun2();
a || b || ( cerr << "neither A nor B is true" << endl );
!a && !b && ( cerr << "De Morgan says neither A nor B is true" << endl );
我希望这就是你想要的…Ruby确实有一些这样的语法糖:
- 除非等于if李>
- 收集。空的?可以作为等价物使用!有吗
你的意思是说,除非来自perl的
$a = 12;
unless($a >= 0) {
print "a is negative\n";
} elsif ($a == 0) {
print "a is equal to 0\n";
} else {
print "a is positive\n";
}
# it prints: a is positive
奇怪的是,除了
,没有其他的,只有(相当于)如果
+1对于德摩根定律,每个程序员都应该知道。确切地说,你不需要比(&&
,~
)或(|
,~
)更多的东西来表示任何逻辑联系。谢谢你——我知道这些定律,但不知道它们是以任何人的名字命名的:-)只是想补充一点,如果(!(A | | B)){DoStuff();}
,你可以将该运算符更改为,并且它的工作原理完全相同。尽管它在英语中似乎是有意义的,但很难说清楚,因为英语是一种如此不精确的语言。你对你想要的功能有数学定义吗。如果你能用真与假来定义这个“非此即彼”和“非此即彼”,那么剩下的应该是微不足道的。直觉上,对我来说,(x){/*不发生*/}和(y){/*不发生*/}
。。。可能不是你想要的。事实上,正如Rekretivc所提到的,“非此即彼”与“非此即彼”的可比特性是“和”(或“两者都和”(如果你愿意)或“或”(“或”)所以你真的在寻找一个逻辑运算符,而不是语句关键字…另一个答案中的德摩根定律。罗夫玛,部分原因是这很可笑,部分原因是有一个小声音告诉我他们可能会这么做!“Wordup”是新的“你好世界”“.小心点,杰夫,这离好玩有点近:)VB=白话基础。=)它提醒了我一些事情:比如在“VBA不是一种真正的编程语言”xDsource:我很高兴你没有把它命名错误。这是美式英语中的一个误用,让我感到厌烦。我真的很怀念除非关键字,很惊讶python没有它,就像BDFL避开三元组一样。
If ThisThing IsNot Nothing Then
class neither_t
{
bool lhv;
neither_t(bool lhv): lhv(lhv) {}
public:
bool nor(bool rhv) const
{
return !lhv && !rhv;
}
friend neither_t neither(bool lhv);
};
neither_t neither(bool lhv)
{
return neither_t(lhv);
}
#include <cstdio>
int main()
{
int x = 3;
if (neither(x == 1).nor(x == 2)) {
puts("OK");
}
}
bool a = fun1(), b = fun2();
a || b || ( cerr << "neither A nor B is true" << endl );
!a && !b && ( cerr << "De Morgan says neither A nor B is true" << endl );
try {
a || b || ( throw logic_error( "neither a nor b is true" ), false );
} catch( logic_error &exc ) {
cerr << exc.what() << endl;
cerr << "now with added madness!" << endl;
}
$a = 12;
unless($a >= 0) {
print "a is negative\n";
} elsif ($a == 0) {
print "a is equal to 0\n";
} else {
print "a is positive\n";
}
# it prints: a is positive