亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        學(xué)習(xí)關(guān)于main( )函數(shù)

        字號(hào):

        C的設(shè)計(jì)原則是把函數(shù)作為程序的構(gòu)成模塊。main()函數(shù)稱之為主函數(shù),一個(gè)C程序總是從main()函數(shù)開始執(zhí)行的。
            一、main()函數(shù)的形式
            在最新的 C99 標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:
             int main( void )--無參數(shù)形式
             {
             ...
             return 0;
             }
             int main( int argc, char *argv[] )--帶參數(shù)形式
             {
             ...
             return 0;
             }
            指明了main()函數(shù)的返回類型,函數(shù)名后面的圓括號(hào)一般包含傳遞給函數(shù)的信息。void表示沒有給函數(shù)傳遞參數(shù)。關(guān)于帶參數(shù)的形式,我們等會(huì)討論。
            瀏覽老版本的C代碼,將會(huì)發(fā)現(xiàn)程序常常以
            main()
            這種形式開始。C90標(biāo)準(zhǔn)允許這種形式,但是C99標(biāo)準(zhǔn)不允許。因此即使你當(dāng)前的編譯器允許,也不要這么寫。
            你還可能看到過另一種形式:
            void main()
            有些編譯器允許這種形式,但是還沒有任何標(biāo)準(zhǔn)考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。
            堅(jiān)持使用標(biāo)準(zhǔn)的意義在于:當(dāng)你把程序從一個(gè)編譯器移到另一個(gè)編譯器時(shí),照樣能正常運(yùn)行。
            二、main()函數(shù)的返回值
            從前面我們知道m(xù)ain()函數(shù)的返回值類型是int型的,而程序最后的 return 0; 正與之遙相呼應(yīng),0就是main()函數(shù)的返回值。那么這個(gè)0返回到那里呢?返回給操作系統(tǒng),表示程序正常退出。因?yàn)閞eturn語句通常寫在程序的最后,不管返回什么值,只要到達(dá)這一步,說明程序已經(jīng)運(yùn)行完畢。而return的作用不僅在于返回一個(gè)值,還在于結(jié)束函數(shù)。
             現(xiàn)在我們來做一個(gè)小試驗(yàn)(注意:本人的系統(tǒng)是Windows XP, 編譯環(huán)境是TC)來觀察main()函數(shù)的返回值。編寫如下代碼并編譯運(yùn)行:
            //a.c
            #include "stdio.h"
            int main(void)
            {
             printf("I love you.");
             return 0;
            }
            將這個(gè)文件保存為a.c,編譯運(yùn)行后會(huì)生成一個(gè)a.exe文件?,F(xiàn)在打開命令提示符,在命令行里運(yùn)行剛才編譯好的可執(zhí)行文件,然后輸入 echo %ERRORLEVEL% ,回車,就可以看到程序返回 一個(gè)0 。如果把 return 0; 改為 return 99; ,那么很顯然,再次執(zhí)行上述步驟以后你可以看到程序返回99。要是你這樣寫 return 99.99; 那還是返回99,因?yàn)?9.99被傳給操作系統(tǒng)之前,被強(qiáng)制類型轉(zhuǎn)換成整數(shù)類型了。
            現(xiàn)在,我們把a(bǔ).c改回原來的代碼,然后再編寫另一個(gè)程序b.c:
            //b.c
            #include "stdio.h"
            int main(void)
            {
             printf("\nI'm too.");
             return 0;
            }
            編譯運(yùn)行后打開命令提示符,在命令行里輸入a&&b 回車,這樣你就可以看到《人鬼情未了》里面經(jīng)典的愛情對(duì)白:
            I love you.
            I'm too.
            && 的含義是:如果 && 前面的程序正常退出,則繼續(xù)執(zhí)行 && 后面的程序,否則不執(zhí)行。所以,要是把a(bǔ).c里面的 return 0; 刪除或者改為 return 99; ,那么你只能看到 I love you. 。也就是說,程序b.c就不執(zhí)行了?,F(xiàn)在,大家該明白 return 0; 的作用了吧。