if(fork()=0)
和if(fork()==0)
有什麼區別?
當它返回0時,它是孩子,但如果它的== 0呢?使用分叉= 0和分叉== 0時有什麼區別?
回答
在第一種情況下,if
從不輸入。在第二種情況下,如果fork
的結果在當前正在執行的代碼處於「子」過程中,則輸入if
。
爲此,=是賦值運算符,==是相等運算符。無論fork()是否執行,賦值都將返回true,但檢查fork()返回值(使用==)的相等性是否會正確檢查。 –
@Toby勞倫斯好,沒有。 「任務將返回true」 - 除非您將LHS賦值爲0。 – 2012-12-11 21:12:48
@Toby:賦值返回本身右側的任何東西。在這種情況下,即'0',可以隱式轉換爲'false',而不是'true'。 –
=
爲變量賦值,==
檢查是否相等。
=
是賦值運算符和==
是相等的比較操作。當您使用fork() = 0
時,您應該收到編譯警告或錯誤。
+1關於編譯警告/錯誤。 –
'fun(){ printf(「A」); fork(); printf(「B」); if(fork()!= 0)printf(「C」); fork(); printf(「D」); } printf(「E」); }' –
@jay:這個例子與你的問題中的兩者中的任何一個都不匹配。 '!='不是'='或'=='。http://ideone.com/ZploBs –
在第一種情況下,如果(fork()= 0)是賦值並且它始終爲真。這種情況從不假。
而(fork()== 0)檢查條件fork()的值是否等於0。
不,分配不總是爲真,它返回分配的值;實際上,'x = 0'總是評估爲'false'。 – effeffe
- 1. -0和0有什麼區別?
- 2. | 0和~~有什麼區別?
- 3. 叉子和線程有什麼區別?
- 4. .communicate()和.communicate()[0]有什麼區別?
- 5. {0}和+之間有什麼區別?
- 6. 「kill 0」和「kill - - $$」有什麼區別?
- 7. {0}和「」之間有什麼區別?
- 8. firstChild和[0]之間有什麼區別?
- 9. 0(%eax)和(%eax)有什麼區別?
- 10. FILE_ATTRIBUTE_NORMAL和0有什麼區別?
- 11. (char)0和'\ 0'之間有什麼區別? in C
- 12. Java中的Runtime.exit(0)和System.exit(0)有什麼區別?
- 13. 之間有什麼區別{0}和{0,數字,整數}
- 14. 區分假和0
- 15. C++中「some」==「some \ 0」和strcmp(「some」,「some \ 0」)有什麼區別?
- 16. 這段代碼中rem == 0和rem = 0有什麼區別?
- 17. C語言中ptr = my_array和ptr =&my_array [0] [0]有什麼區別?
- 18. `[blah addObject:@「1」];``和`[blah insertObject:@「0」atIndex:0]之間有什麼區別;`?
- 19. erlang,'catch 1 = 0'和'(catch 1 = 0)'有什麼區別?
- 20. 分叉和pid
- 21. php分叉和使用memcache
- 22. null,0和nothing什麼區別?
- 23. 使用memset將struct sockaddr_in設置爲0和'\ 0'會有什麼區別?
- 24. Boost.Test和分叉
- 25. i == 0和0 == i有區別嗎?
- 26. 爲什麼守靈分叉?
- 27. GitHub:爲什麼要分叉?
- 28. 使用.first()和.eq(0)之間有什麼區別?
- 29. setVisibility(View.INVISIBLE)有什麼區別; setVisibility(0);
- 30. 分區給出0循環,爲什麼?
我非常擔心你與'打叉()'不知道'='和''==(它可能只是我內心的系統管理員的尖叫) –
你有沒有試過這種區別?第一個不應該編譯,因爲任務的目標不是左值... – effeffe
這就是BASIC程序員如何編寫C代碼的方法。 – 2012-12-11 21:11:57