真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言的主函數(shù)必須用 c語言的主函數(shù)必須用main嗎

C語言中return怎么用,主函數(shù)中一定要用嗎?

return,從函數(shù)調(diào)用執(zhí)行中返回,可以分兩種情況:

公司主營業(yè)務(wù):網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出余杭免費做網(wǎng)站回饋大家。

1、void型

例如:

void f2()

{

int i=1;

//return;//這樣也可以,不要這一句也可以

}

2、非void型

例如:

int f1()

{

int i=1;

return 1;

//return(i); //這樣也可以

}

有時即使被調(diào)用函數(shù)是void類型 被調(diào)函數(shù)中的return也不是毫無意義的;對于void,在函數(shù)的最后一行代碼,可以不用;其他地方,因為你要返回函數(shù)調(diào)用,所以必須要用。

對于非void,既然函數(shù)返回值類型定義為非void,那么肯定需要使用這個函數(shù)的返回值。比如返回值是函數(shù)運行結(jié)果,或者表明函數(shù)運行結(jié)果是成功還是失敗。這種情況,即使是函數(shù)最后一行,也需要使用。

對于有些情況,沒有return,編譯器也不會報錯,比如main函數(shù)(編譯器會默認(rèn)返回值為0,假設(shè)你的main函數(shù)返回值是int)。但是為了保持良好的習(xí)慣,還是建議使用。

比如你寫的程序編譯后需要在腳本中調(diào)用,我們可以通過檢查你的程序的結(jié)束代碼來判斷你的程序的執(zhí)行情況,成功或是失敗。這時候的檢查就依賴于你是否在main函數(shù)中正確使用了return。

擴展資料:

舉例:

#include "stdio.h"

void function()

{printf("111111");

return;

printf("222222");

}

main()

{

function();

}

運行結(jié)果為:屏幕上只輸出一串?dāng)?shù)字1 而沒有2。 但是如果去掉function函數(shù)中的return語句 就可以同時輸出一串?dāng)?shù)字2。這里的return其實還有個退出該程序的作用!也就是說在printf("111111");后面加了個return,就表示結(jié)束該函數(shù),返回主函數(shù)中去了!

參考資料

百度百科_return(C語言語句)

C程序中是不是一定要有main函數(shù)?

C程序中不一定要有main函數(shù)。

C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。 C 語言可以象匯編語言一樣對位、字節(jié)和地址進(jìn)行操作, 而這三者是計算機最基本的工作單元。

擴展資料

C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。

C的數(shù)據(jù)類型有:整型、實型、共用體類型等。能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運算。并引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅(qū)動器。且計算功能、邏輯判斷功能強大。

參考資料來源:百度百科-c程序

每個c程序文件都必須有一個main()函數(shù)?

每個c程序文件都必須有一個main()函數(shù).

當(dāng)一個程序只能作為另一個程序的子程序的時候,那么該程序沒有主函數(shù)。主函數(shù)的位置不固定, 并且可以調(diào)用程序中的其他函數(shù) , 而其他函數(shù)不可以調(diào)用 main() 函數(shù) 。 函數(shù)中不可以再定義其他的函數(shù)。

1、main函數(shù)是程序唯一入口。也就是說,程序運行時,首先從main函數(shù)開始執(zhí)行。

2、一個程序,必須要有一個main函數(shù),而且也只能有一個main函數(shù)。

擴展資料:

C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個參數(shù)?(有些實現(xiàn)允許更多的參數(shù),但這只是對標(biāo)準(zhǔn)的擴展)。這兩個參數(shù),一個是int類型,一個是字符串類型。第一個參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個int參數(shù)被稱為argc(argument count)。

第二個參數(shù)是一個指向字符串的指針數(shù)組。命令行中的每個字符串被存儲到內(nèi)存中,并且分配一個指針指向它。按照慣例,這個指針數(shù)組被稱為argv(argument value)。

系統(tǒng)使用空格把各個字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個字符串賦給argv[1]?,等等。

參考資料來源:百度百科-main函數(shù)

main函數(shù) 在每個c語言程序中都是必須的嗎

C語文程序中必須有main()函數(shù)。

C的設(shè)計原則是把函數(shù)作為程序的構(gòu)成模塊。main()函數(shù)稱之為主函數(shù),一個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;

}

int指明了main()函數(shù)的返回類型,函數(shù)名后面的圓括號一般包含傳遞給函數(shù)的信息。void表示沒有給函數(shù)傳遞參數(shù)。關(guān)于帶參數(shù)的形式,我們等會討論。

瀏覽老版本的C代碼,將會發(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 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。

堅持使用標(biāo)準(zhǔn)的意義在于:當(dāng)你把程序從一個編譯器移到另一個編譯器時,照樣能正常運行。

二、main()函數(shù)的返回值

從前面我們知道m(xù)ain()函數(shù)的返回值類型是int型的,而程序最后的 return 0; 正與之遙相呼應(yīng),0就是main()函數(shù)的返回值。那么這個0返回到那里呢?返回給操作系統(tǒng),表示程序正常退出。因為return語句通常寫在程序的最后,不管返回什么值,只要到達(dá)這一步,說明程序已經(jīng)運行完畢。而return的作用不僅在于返回一個值,還在于結(jié)束函數(shù)。

現(xiàn)在我們來做一個小試驗來觀察main()函數(shù)的返回值。編寫如下代碼并編譯運行:

//a.c

#include "stdio.h"

int main(void)

{

printf("I love you.");

return 0;

}

將這個文件保存為a.c,編譯運行后會生成一個a.exe文件。現(xiàn)在打開命令提示符,在命令行里運行剛才編譯好的可執(zhí)行文件,然后輸入 echo %ERRORLEVEL% ,回車,就可以看到程序返回 一個0 。如果把 return 0; 改為 return 99; ,那么很顯然,再次執(zhí)行上述步驟以后你可以看到程序返回99。要是你這樣寫 return 99.99; 那還是返回99,因為99.99被傳給操作系統(tǒng)之前,被強制類型轉(zhuǎn)換成整數(shù)類型了。

現(xiàn)在,我們把a.c改回原來的代碼,然后再編寫另一個程序b.c:

//b.c

#include "stdio.h"

int main(void)

{

printf("I’m too.");

return 0;

}

編譯運行后打開命令提示符,在命令行里輸入ab 回車,這樣你就可以看到《人鬼情未了》里面經(jīng)典的愛情對白:

I love you.

I’m too.

的含義是:如果 前面的程序正常退出,則繼續(xù)執(zhí)行 后面的程序,否則不執(zhí)行。所以,要是把a.c里面的 return 0; 刪除或者改為 return 99; ,那么你只能看到 I love you. 。也就是說,程序b.c就不執(zhí)行了。現(xiàn)在,大家該明白 return 0; 的作用了吧。

三、main()函數(shù)的參數(shù)

C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個參數(shù)(有些實現(xiàn)允許更多的參數(shù),但這只是對標(biāo)準(zhǔn)的擴展)。這兩個參數(shù),一個是int類型,一個是字符串類型。第一個參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個int參數(shù)被稱為argc(argument count)。大家或許現(xiàn)在才明白這個形參為什么要取這么個奇怪的名字吧,呵呵!至于英文的意思,自己查字典吧。第二個參數(shù)是一個指向字符串的指針數(shù)組。命令行中的每個字符串被存儲到內(nèi)存中,并且分配一個指針指向它。按照慣例,這個指針數(shù)組被稱為argv(argument value)。系統(tǒng)使用空格把各個字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個字符串賦給argv[1],等等。

現(xiàn)在我們來看一個例子:

//c.c

#include "stdio.h"

int main(int argc, char *argv[])

{

int count;

printf("The command line has %d arguments:

", argc - 1);

for(count = 1; count argc; count++)

printf("%d: %s

", count, argv[count]);

return 0;

}

編譯運行,在命令行輸入c I love you 回車,下面是從命令行運行該程序的結(jié)果:

The command line has 3 arguments:

1:I

2:love

3:you

從本例可以看出,程序從命令行中接受到4個字符串(包括程序名),并將它們存放在字符串?dāng)?shù)組中,其對應(yīng)關(guān)系:

argv[0] ------ c(程序名)

argv[1] ------ I

argv[2] ------ love

argv[3] ------ you

至于argc的值,也即是參數(shù)的個數(shù),程序在運行時會自動統(tǒng)計,不必我們操心。

這個例子中,每個字符串都時一個單詞(字母),那既然是字符串,要把一句話當(dāng)作參數(shù)賦給程序該怎么辦?你可以在命令行里這樣輸入 c "I love you." "I’m too."。程序運行結(jié)果:

The command line has 2 arguments:

1:I love you.

2:I’m too.

其對應(yīng)關(guān)系:

argv[0] ------ c(程序名)

argv[1] ------ I love you.

argv[2] ------ I’m too.

要注意的是,你在命令行的輸入都將作為字符串形式存儲于內(nèi)存中。也就是說,如果你輸入一個數(shù)字,那么要輸出這個數(shù)字,你應(yīng)該用%s格式而非%d或者其他。

再來看一個例子:

//d.c

#include "stdio.h"

int main(int argc, char *argv[])

{

FILE *fp;

fp = fopen(argv[1], "w");

fputs("I love you.", fp);

fclose(fp);

return 0;

}

編譯運行,打開命令行并輸入d love.txt 回車。這樣,打開d.c文件所在的目錄,你會發(fā)現(xiàn)多了一個名為 love.txt 的文件,打開后里面的內(nèi)容正是世界上說的最多的那句話。

當(dāng)然,你可能會說我不需要使用命令行參數(shù)就可以做到這些。是的,你當(dāng)然可以。使用命令行參數(shù)的理由或許就是練習(xí)命令行用法,以備以后需要編寫基于命令行的程序。還有一個好處是,不需要C環(huán)境就可以運行已經(jīng)編譯好的程序。比如,你把上面那個程序編譯后生成的d.exe發(fā)給你的女朋友,再告訴她怎么運行,這樣,你的女朋友可以用另一種方式體會到你對她的濃情蜜意。

參考:

在C語言中,主函數(shù)是不是必須要有返回值?

在C語言中,主函數(shù)必須要有返回值。

main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。如果 main 函數(shù)的最后沒有寫 return 語句的話,C99 規(guī)定編譯器要自動在生成的目標(biāo)文件中(如 exe 文件)加入return 0; ,表示程序正常退出。

在C語言標(biāo)準(zhǔn)中強制要求main函數(shù)的返回值類型為int,main函數(shù)的返回值是傳遞給操作系統(tǒng),讓操作系統(tǒng)判斷程序的執(zhí)行情況(是正常結(jié)束還是出現(xiàn)異常)。

擴展資料:

在C和C++中,不接收任何參數(shù)也不返回任何信息的函數(shù)原型為“void foo(void);”。正是因為這個,所以很多人都誤認(rèn)為如果不需要程序返回值時可以把main函數(shù)定義成void main(void) 或void main()。然而這是錯誤的。

main函數(shù)的返回值應(yīng)該定義為int類型,雖然在一些編譯器中,void main可以通過編譯(如vc6),但并非所有編譯器都支持void main,因為標(biāo)準(zhǔn)中從來沒有定義過void main。g++3.2、dev C等環(huán)境中如果main函數(shù)的返回值不是int類型,根本無法通過編譯。而gcc3.2則會發(fā)出警告。

在C語言程序中,是不是必須有一個主函數(shù)

答案是肯定的,必須有且僅有一個main()函數(shù)。程序總是從main函數(shù)開始執(zhí)行,并且在main函數(shù)中結(jié)束。


文章標(biāo)題:c語言的主函數(shù)必須用 c語言的主函數(shù)必須用main嗎
鏈接URL:http://weahome.cn/article/hjpohg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部