回覆列表
  • 1 # 使用者7859918709138

    你其實問了一個很複雜的問題,牽涉到一個應用程式的生死過程,給你簡單講解如下:

    (1)一個Windows應用程式的執行過程是:

    作業系統呼叫C/C++執行期啟動函式->啟動函式做完所有初始化工作後->呼叫應用程式進入點函式(即我們的主函式)

    (2)而主函式返回時->啟動函式便呼叫C/C++執行期的exit函式。

    (3)通常我們的主函式有這樣一個整型返回值,其意義為:當主函式返回時,這個返回值就會傳遞給這個exit函式作為引數,exit函式先做完所有清理工作,然後呼叫作業系統的ExitProcess函式並將返回值傳遞給它,這使得作業系統能夠撤銷程序並設定退出程式碼。通常0表示正常返回,非零的其他值表示出現錯誤。

    (4)我們的主函式可以定義為類似void main()這個樣子,即無返回值,那麼這個時候就不能用return語句把退出程式碼傳遞給父程序或作業系統,此時作業系統可以撤銷程序但不會設定退出程式碼。當然在這種情況下,你還是有辦法設定退出程式碼,那就是顯式地呼叫exit(退出程式碼)。

    int main()

    {

    float a = 1.0;

    printf("%f", a); // 在標準輸出裝置(一般為計算機的顯示器)上,輸出a的值

    return 0; // 正常返回

    }

  • 中秋節和大豐收的關聯?
  • 為什麼越優秀的人越孤單?