2015-06-01 45 views
2

我想知道什麼時候應該使用exit()函數而不是return聲明。我可以用以下任一語句結束程序:何時使用exit()返回?

exit(0); 

    or 

return; 

我應該使用哪一個? 使用exit()有什麼好處嗎?

回答

8

這兩者在本質上是非常不同的。

  • exit()當您想立即終止程序時使用。如果遇到來自的任何部分應用程序的exit()的調用,應用程序將結束執行。
  • return用於返回程序執行控制到調用者函數。僅在main()的情況下,return完成執行。

編輯:

爲了澄清有關的情況下在main()使用時,直接從C11標準,章§5.1.2.2.3,程序終止報價,

如果main()函數的return類型是與int兼容的類型,則從最初的ca開始return ll到main()功能是等效調用exit()函數與main()函數返回的值作爲其參數; 11)達到}終止 main()函數返回的值爲0。如果返回類型與int不兼容,則返回到主機環境的終止狀態未指定。

所以,基本上,無論是

  • return 0;
  • exit(0);

將表現在main()背景相同。

+0

所以在主要功能都將工作相同? –

+0

@SouravKanta更新了我的答案。現在檢查。 –

相關問題