If always returns true(如果总是返回真)
问题描述
我只是用 C++ 做一些实验,但我不明白为什么两个 if 语句都返回 true:
I'm just experimenting a bit with C++ but I can't figure out why both if-statements return true:
我对 C++ 和 stackoverflow 还是很陌生,所以如果这是一个愚蠢的或经常被问到的问题,我很抱歉,但我真的不知道更多.请帮忙!
I'm pretty new to C++ and stackoverflow so I'm sorry if that's an stupid or frequently asked question but I really don't know any further. Please help!
推荐答案
错了
是对的
deutsch"单独返回内存中字符串的地址.这是永远不等于零.这意味着正确.
"deutsch" alone returns the address of the string in memory. which is always not equal to zero. which means true.
意思
不管 a == "hello"
结果是什么(真或假),false ||"bob"
变成 false ||指向bob"的指针
.所有非空指针都是true
,所以这是false ||true
即 true
.
regardless of what a == "hello"
results in (true or false), false || "bob"
becomes false || pointer to "bob"
. All non-null pointers are true
, so this is false || true
which is true
.
这篇关于如果总是返回真的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!