2013-12-09 57 views
-3

这更像是一个逻辑问题,没有可编写的代码,但即使在多次尝试这个问题之后,我仍然得到答案是正确的。为什么答案是错误的并且不正确?

所以这里的问题:

int cat = 5, dog = 6, cow = 2, lizard = 10 

而且我想找到答案,该表达式: !(!cow + !cat + !dog + !lizard)

这是我尝试了解决方案:

我认为,说!牛,我们在说!5。然后,我在想这个!5意味着它不会是真的,因为它!的整数值,从而使!牛= 0。然后我对括号内的所有内容也做了同样的处理。给我:!(0)并应用!操作员,我变得真实。 (因为0通常意味着它是错误的吗?)

帮助表示赞赏!谢谢!

+5

谁说答案应该是错的? –

+1

那么为什么你的标题是错误的,因为你发现答案*是真实的? – usr2564301

+0

我的老师说的正确答案是错误的:( – Karen

回答

3

你是对的 - 你的表达式计算结果为1,即是。

+0

哦!嗯......这很奇怪,我的老师说答案错了:( – Karen

+0

有时候人们会犯错误 –

3

假设:

int cat = 5, dog = 6, cow = 2, lizard = 10; 

的值:

!(!cow + !cat + !dog + !lizard) 

1。并且来自stdbool.htrue宏的值也是1

+0

谢谢!嗯......很奇怪,我想知道为什么我的老师说答案是错误的。:( – Karen

相关问题