免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

c語言的主函數必須用 c語言的主函數必須用main嗎

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

return,從函數調用執行中返回,可以分兩種情況:

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

1、void型

例如:

void f2()

{

int i=1;

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

}

2、非void型

例如:

int f1()

{

int i=1;

return 1;

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

}

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

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

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

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

擴展資料:

舉例:

#include "stdio.h"

void function()

{printf("111111");

return;

printf("222222");

}

main()

{

function();

}

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

參考資料

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

C程序中是不是一定要有main函數?

C程序中不一定要有main函數。

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

擴展資料

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

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

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

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

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

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

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

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

擴展資料:

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

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

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

參考資料來源:百度百科-main函數

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

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

C的設計原則是把函數作為程序的構成模塊。main()函數稱之為主函數,一個C程序總是從main()函數開始執行的。

一、main()函數的形式

在最新的 C99 標準中,只有以下兩種定義方式是正確的:

int main( void ) /* 無參數形式 */

{

...

return 0;

}

int main( int argc, char *argv[] ) /* 帶參數形式 */

{

...

return 0;

}

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

瀏覽老版本的C代碼,將會發現程序常常以main()這種形式開始。C90標準允許這種形式,但是C99標準不允許。因此即使你當前的編譯器允許,也不要這么寫。

你還可能看到過另一種形式。

void main()

有些編譯器允許這種形式,但是還沒有任何標準考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。

堅持使用標準的意義在于:當你把程序從一個編譯器移到另一個編譯器時,照樣能正常運行。

二、main()函數的返回值

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

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

//a.c

#include "stdio.h"

int main(void)

{

printf("I love you.");

return 0;

}

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

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

//b.c

#include "stdio.h"

int main(void)

{

printf("I’m too.");

return 0;

}

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

I love you.

I’m too.

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

三、main()函數的參數

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

現在我們來看一個例子:

//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 回車,下面是從命令行運行該程序的結果:

The command line has 3 arguments:

1:I

2:love

3:you

從本例可以看出,程序從命令行中接受到4個字符串(包括程序名),并將它們存放在字符串數組中,其對應關系:

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

argv[1] ------ I

argv[2] ------ love

argv[3] ------ you

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

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

The command line has 2 arguments:

1:I love you.

2:I’m too.

其對應關系:

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

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

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

要注意的是,你在命令行的輸入都將作為字符串形式存儲于內存中。也就是說,如果你輸入一個數字,那么要輸出這個數字,你應該用%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文件所在的目錄,你會發現多了一個名為 love.txt 的文件,打開后里面的內容正是世界上說的最多的那句話。

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

參考:

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

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

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

在C語言標準中強制要求main函數的返回值類型為int,main函數的返回值是傳遞給操作系統,讓操作系統判斷程序的執行情況(是正常結束還是出現異常)。

擴展資料:

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

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

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

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

標題名稱:c語言的主函數必須用 c語言的主函數必須用main嗎
網站路徑:http://m.newbst.com/article46/hjpohg.html

成都網站建設公司_創新互聯,為您提供企業網站制作外貿建站建站公司移動網站建設面包屑導航網站維護

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司