回答
==
是一個測試的平等。 =
是一項任務。這本書應該涵蓋這本書(在我可以想象的書的早期)。
例如:
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