回答
==
是一个测试的平等。 =
是一项任务。这本书应该涵盖这本书(在我可以想象的书的早期)。
例如:
int i = 3; // sets i to 3.
if (i == 3) printf("i is 3\n"); // prints it.
只要留意令人发指:
if (i = 4) { }
这是有效的C,经常捕捉的人出来。这实际上是将 4分配给变量i
,并将其用作if
语句中的真值。这导致很多人用丑陋但更安全:
if (4 == i) {}
,如果你不小心使用=
代替==
,是一个编译时错误,而不是东西会咬你的,而你的程序背面正在运行:-)
逻辑或运算符是两个竖线字符,一个接一个,不是单个字符。有
||
&&
b4
没有魔法:这是排队与逻辑和,以及可变称为b4
。
上加以说明。简单,明确,不屈尊敬。 +1。 – 2010-01-28 13:39:26
http://www.cppreference.com/wiki/operator_precedence,http://www.cplusplus.com/doc/tutorial/。当我学习C++时,通过这些网站检查他们是真正的帮助。 – 2010-01-28 13:50:05
==测试平等 =分配一个值
既不涉及||
a == b
是测试如果一个和b是相等的。
a = b
称为分配,这意味着一个设置变量具有相同的值b。
(你在美国的键盘布局键入|
与按住Shift \
。)
我想补充的是芬兰语和瑞典语键盘。管道符号; |;的OR是AltGr(右ALT)和<键。另一方面,如果您使用的是Mac,则它是Alt-7键。
当我第一次开始在这些键盘上打字时,给了我很多汗水。
现在你已经知道'=='和'=“之间的区别了,让我给你一些小心的字眼,虽然'=='被用作可比变量与'='之间相等性的标准测试作为内部类型转换的分配,以下编程错误很常见。
在下面的示例和类似代码中,'='被称为“总是为真”的条件运算符。
#include<stdio.h>
int main()
{
int i = 10, j = 20;
if (i = j)
printf("Equal\n");
else
printf("NOT Equal\n");
return 0;
}
所以,谨慎的字是“从来没有在if
语句中使用‘=
’,除非你在你的心中有邪恶的东西。”
什么?没有什么比如此优雅:if(fh = fopen(“file.txt”,“r”){process_file(fh); close(fh);} // :-) – paxdiablo 2010-01-28 14:12:26
我也称之为“永远是真的并把我当作奖金“有条件的操作员。但好的建议,所以+1。 – paxdiablo 2010-01-28 14:14:32
@paxdiablo:你是对的......但我希望我的话只适合初学者。然而,在愚蠢的代码,如果我想重复的文件描述符为'fh'这将导致失误:if(fd = fh = fopen(“file.txt”,“r”){// some code}; – 2010-01-28 14:30:25
- 1. C中“wild pointer”的含义是什么?
- 2. C#中“@”的含义是什么
- 3. C++中[=](...){...}的含义是什么?
- 4. :: C++中的含义是什么?
- 5. “var”在C#中的含义是什么?
- 6. C#中'this'的含义是什么?
- 7. C#中“=>”的含义是什么?
- 8. C++宏中“##”的含义是什么?
- 9. “System.IO”在C#中的含义是什么?
- 10. C++中NULL!= value的含义是什么?
- 11. PLAT_BINARYFORMATTER在C#中的含义是什么?
- 12. {$ C PRELOAD}指令的含义是什么?
- 13. =的含义是什么?在目标c
- 14. 这是' - >'在c/objective-c中的含义是什么?
- 15. 什么是C“INT常量*”的确切含义是什么?
- 16. 这个类定义在C#中的含义是什么?
- 17. DTMobileIS的含义是什么?
- 18. if(';')的含义是什么?
- 19. ui.draggable.draggable的含义是什么?
- 20. URL的含义是什么
- 21. android:backgroundDimAmount的含义是什么?
- 22. 什么是java.io.tmp的含义
- 23. !int_variable--?的含义是什么!
- 24. 什么是WindowsIdentity的含义
- 25. CronJobs的含义是什么?
- 26. “error_subcode”的含义是什么
- 27. xmlns:android的含义是什么?
- 28. $ @的含义是什么?
- 29. SootMethod.getSubSignature()的含义是什么?
- 30. view.bounds.origin的含义是什么?
评论被删除,因为他们分心注意力从答案。 SO有一个非常明确的政策:“没有问题是太琐碎或太”新手“。”常见问题解答(http://stackoverflow.com/faq)中说。如果您想讨论该政策,请在http://meta.stackoverflow.com/ – 2010-01-28 13:58:19