我有一个循环语句,我将使用类似C的语法(C、C、Java、JavaScript、PHP等,都使用类似的语法)来表示:
while (c != 'o' || c != 'x') {
c = getANewValue();
}
我希望它一直运行,直到我得到一个'o'
或'x'
,但它永远不会退出,即使c
是'o'
或'x'
。为什么不呢?
我还尝试过使用if
:
if (c != 'o' || c != 'x') {
// Show an error saying it must be either 'o' or 'x'
}
但是,即使c
是'o'
或'x'
,也总是会显示错误消息。为什么?
为什么我的是c!='o'||c!='x'
条件总是true?
表达式使用逻辑OR
运算符(||
)组合两个子表达式。如果至少有一个子表达式为true
,则表达式为true
。为了成为false
,它连接的两个子表达式必须是false
。
子表达式是c!='o'
和c!='x'
。
第一个子表达式c!='当
为c='o'
时,o'false
。第二个也一样;当c=='x'
时,它是false
。
请注意,它们不能同时为false
,因为c
不能同时为'o'
和'x'
。
如果(c!='o'
条件(c!=“o”| c!=“x”)
永远不能为假。如果c
是'o'
,则c!='x'
将为真,并且满足OR条件。如果c
是'x'
,则c!='o'
将为真,并且满足OR条件。
你想要
while (c != 'o' && c != 'x') {
// ...
}
“虽然
c
不是'o'
,c
不是`'x'.”(例如,两者都不是)。
或者使用德摩根定律,包括:
while (!(c == 'o' || c == 'x')) {
// ...
}
"虽然它不是真实的(
c
是'o'
或c
是'x'
)..."
//[input type=“text”placeholder=“First Name”class=“form control”ng model=“FirstName”必填项] 下面是我的代码 elemntvalue=驱动程序。FindElement(By.XPath(//input[@placeholder='First Name']); 字符串名称required=elemntvalue。Ge
我正在编写一个安全系统,拒绝未经授权的用户访问。 它按预期授予授权用户访问权限,但也允许未经授权的用户进入! 为什么会出现这种情况?我已经明确声明,只有当等于Kevin、Jon或inbar时才授予访问权限。我也尝试过相反的逻辑,,但结果是一样的。
我看过一些代码,其中人们使用了带有两个“!”的条件子句s 这是我能找到的一些例子。 使用有什么好处超过?
我有一个arraylist,其中添加了以下数字。 然后我使用下面的代码遍历列表并在打印前求和。 它正在打印出一个值6。有人知道发生了什么吗?或者有人能解释我在这里做错了什么吗?感谢您的时间,如果有什么我可以补充澄清的,请不要犹豫。
我将我的按钮放入一个数组中,但当我调用它们时,它们不在那里。如果我打印出阵列,我会得到: 我只是不知道我做错了什么。
为什么imread总是报错[ WARN:0@0.165] global loadsave.cpp:248 cv::findDecoder imread_(''): can't open/read file: check file path/integrity 尝试了各种:放在同一目录调用,单引号调用,更改图片类型(png),都是报错。恳请大佬帮助。