我在哪里使用它们?我是初学者,所以请尽量了解我。
我搜索了一些信息,但我真的找不到任何东西。
我看到了一些像if(!a)
这样的部分的代码片段,但是它会如何起作用?是不是像if(a is not a)
?那个循环是否会在括号中执行指令吗?
答案 0 :(得分:4)
如果a
是" false"然后!a
是true
。如果a
是"是"然后!a
是false
使用!=
时,您可以直接与其他值进行比较。例如,如果变量a != 1
不等于true
,则a
仅为1
。
如果有的话,!a
可能等同于a == 0
。
当然,上面没有提到有关运算符重载的任何内容。如果!
有重载运算符!=
或a
,则行为取决于重载运算符实现。
答案 1 :(得分:2)
主要区别在于!
用于一个项目,而!=
用于两个项目之间。
!
通常仅在表达式为布尔值时使用,如:
bool ok = true;
...
if (!ok) ReportError();
你可以对整数使用!
- 但那是特别的:
!0
变为1
! anything else
变为0
。 !=
用于比较两个相似的事物:
if (i!=5) ReportError();
if (response!='Y') Quit();
答案 2 :(得分:1)
答案 3 :(得分:1)
!
运算符表示NOT。
因此,如果x
是一个数字:if(x != 3)
和if(!(x == 3))
相同。
所以基本上,如果b
是任何布尔表达式/值本身(可以是真或假,可以是不等式或任何其他条件),使用if(b == true)
和{{1等同于;因此使用if(b)
和if(b == false)
是因为if(!b)
是一个布尔值,就像任何其他条件一样。
回到上一个示例,说b
就像在说if(x != 3)
。
答案 4 :(得分:0)
如果您是初学者,我建议您阅读C Bible" C编程语言--Brian Kernighan和Dennis Ritchie"。
这是语言创作者自己为每个C / C ++程序员编写的好书。