C語言中,void main,int main void 和int main有什麼區別

時間 2021-08-30 11:19:52

1樓:七絃_斂月

void main()是代表主函式不需要返回值int main(void)返回值是int型資料,函式末尾需要ruturn語句。

()中表示函式中傳入的引數,括號為空表示不需要引數()和(void)都表示沒有引數,是一樣的

2樓:匿名使用者

後兩者並沒有區別。

前者不被推薦,因為它不符合標準c的要求。後者要求c語言程式如果正確執行並返回的話,應當返回一個0通知系統說這個程式執行沒問題。

有一些編譯器允許void main()這種定義法,有些則不允許。所以為了可移植性,和程式的可靠性,都應當採用int main()的定義法。

我確實見過計算機等級考試中使用void main()的定義法。考試的時候別管它,你自己寫程式的時候習慣使用int main()並在末尾return 0就ok了。

3樓:匿名使用者

void main()是代表主函式不需要返回值,也沒有引數,

int main(void)返回一個int型的值,也不帶引數

前面兩者是有是否帶返回值區別的

4樓:匿名使用者

老版本的c**以main()這種形式開始。c90標準允許這種形式,但是c99標準不允許。因此即使你當前的編譯器允許,也不要這麼寫。

void main()

有些編譯器允許這種形式,但是還沒有任何標準考慮接受它。

int main()

main()函式的返回值型別是int型的,而程式最後的 return 0;

正與之遙相呼應,0就是main()函式的返回值。那麼這個0返回到那裡呢?返回給作業系統,表示程式正常退出。

因為return語句通常寫在程式的最後,不管返回什麼值,只要到達這一步,說明程式已經執行完畢。而return的作用不僅在於返回一個值,還在於結束函式。

在最新的c語言標準中強制要求main函式的返回值型別為int,main函式的返回值是傳遞給作業系統,讓作業系統判斷程式的執**況(是正常結束還是出現異常)。

c語言中void main和int main有什麼區別

5樓:徜逸

1、有無返回值

void main沒有返回值,int main有返回值。

2、返回值型別

int main返回int型別的資料,void main不返回。

但是在c語言推薦寫法中,建議使用int main,因為在有的編譯器雖然viod main可以通過編譯,但在其他編譯器就會報錯。為了**擁有更好的可移植性,一般寫int main。

**示例

#include int main(void)

上述的**中為int main,返回了一個0,資料型別為int。

資料型別

void:宣告函式無返回值或無引數,宣告無型別指標,顯示丟棄運算結果。(c89標準新增)

char:字元型型別資料,屬於整型資料的一種。(k&r時期引入)

int:整型資料,表示範圍通常為編譯器指定的記憶體位元組長。(k&r時期引入)

float:單精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)

double:雙精度浮點型資料,屬於浮點資料的一種。(k&r時期引入)

6樓:匿名使用者

void main 和 int main的區別就是有無返回值。

在int main 可以出現非 int 型別的東西。在寫**時,一個函式要麼有返回值,要麼沒有返回值沒有返回值就用void來表示。 main函式同樣的,在沒有返回值時加個void 。

有的編譯器必須main要有返回值 int , 那就寫成int main 。

至於什麼時候需要哪種寫法,不必有這種顧慮,你可以一律都寫成 int main ,然後在方法體中 最後加個return 0 ;就行了。

void main 和 int main 在作用上其實沒什麼區別啊,只是有的嚴謹的編譯器必須要main有int 返回值而已,這兩種寫法跟自定義的函式沒任何關係。

7樓:小莫

void main 和 int main 主要有以下三個方面的區別:

1、void main的返回值為空值(即沒有返回值),int main的返回值為整數型別值。

2、void main 可以用 int main代替,但是 int main 不能用 void main代替。

3、有的編譯器main必須要有返回值 int , 那就寫成int main 。

在使用中可以一律寫成 int main,然後在方法體中最後寫 return 0; 就行了,這樣寫基本上所有的編譯器都可以通過。

8樓:專揀米粒

1、void main沒有返回值,int main有返回值2、void main 可以用 int main代替。

3、有的編譯器main必須要有返回值 int , 那就寫成int main 。

9樓:匿名使用者

返回值型別不同。

標準的c語言要求main函式的返回值為int, 該值是執行程式時,告知主調程序程式執行結果的一個渠道。

可以在命令列執行exe後,通過

echo $?

命令獲取上一個可執行程式的執行結果。

不過由於大多數時候,程式的執行結果可以由其它方式判定,比如程式的列印資訊,所以main的返回值變得不重要,於是大部分編譯器都支援無返回值型別的main,這時預設返回給主調程序0值。

標準的main函式格式為

int main(int argc, char *argv);

即返回值為整型,帶兩個引數,argc為命令列引數的個數,argv為指標陣列,前argc個指標為引數列表,最後一個指標值為null。

10樓:匿名使用者

main函式的返回值是用來表示程式的退出狀態的,return 0表示無錯誤,其他的返回值根據系統不同可能代表不同的型別,如果不返回可能會無法檢測到錯誤。

另外一個原因是:如果返回值是返回到棧上的,則程式未返回值的情況下,程式的呼叫者會從棧上誤pop一個值認為是程式的返回值,這樣的話就會造成下面的操作錯誤,因為多pop了一個值。

11樓:澈力木格

void和int表示的是主函式的返回值,void返回的是空值,int返回的是一個整型數值。

用的是int main,在程式結束時必須寫上return 0(或者任何一個整數);而用的是void main就不需要return返回語句。

12樓:匿名使用者

c語言中用void main()

c++中用int main(),其中

int main()最後必須加return 0;

補充中的不可以,main是主函式,一個程式中只能有一個主函式。void aaa()是一個普通的函式,可以被主函式或者其他普通函式呼叫

13樓:浪哥

void main表示空的主函式,不需要返回值;

但是int main需要返回一個int型的值。

14樓:徐臨祥

那主調函式還.c語言中void main和int main有什麼區別,是不是在int main裡面不能出現非int型別的的東西阿,...

15樓:匿名使用者

在上面這種情況void和int可有可無,對結果不影響,只是為了書寫規範。

可以,其他函式也可以

16樓:紹凱文昕月

在dev-c++中必須寫成int

main,寫成int

main比較規範,返回0則表示程式正常退出。

在c語言中,int main()和int main(void)有什麼區別?

17樓:匿名使用者

一般來將,void 就是空的意思,在這裡可以省略,int main(void) 可以看成 int main() .

main 函式另一個重要的形式 是 : int main(int argc ,char *argv) ,這個形式中 argc 是給main函式引數的個數,argv 中的成員就是相應的引數,

看下面的例子就明白了,在你將這個程式編譯完成後假如生成一個helloworld.out 這樣一個可執行檔案,那麼在執行時 helloworld.out 123 456

那麼123 456 就會作為引數傳給main函式, argc 等於2 argv[1] 就是 123 argv[2] 就是 456,

這樣在你程式中就可以直接引用了這兩引數了。

18樓:

基本上差不多 main(void) 代表無引數 main() 代表不確定引數。

應該說,用void 的更規範吧

19樓:匿名使用者

無大區別,int main()預設就是void

c語言中void main和int main有什麼區別

20樓:匿名使用者

void main 和 int main的區別就是有無返回值,在int main 可以出現非 int 型別的東西。

我們在寫**時,一個函式要麼有返回值,要麼沒有返回值,沒有返回值就用void來表示。 main函式同樣的,在沒有返回值時加個void 。

有的編譯器必須main要有返回值 int , 那就寫成int main 。void main 和 int main 在作用上其實沒什麼區別,只是有的嚴謹的編譯器必須要main有int 返回值而已。

以後你全寫成 int main 就行。

c語言中的int main(void)是什麼意思

21樓:

這是c語言main函式的一種宣告方式,該方式表明這個main函式不帶引數,返回值。

void常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

int main(void)還可以寫為 void main()或者 int main()最後在mian()函式結束時,寫return 0即可。

22樓:謇國英香儀

main()和viod

main()都是主函式不不返回任何型別。而intmain()主函式在執行後返回一個整數。一般gcc標準裡c++主函式一定是int

main().一般主函式有返回值在一些編譯器上你會看到最後有一句terminated

with

return

code多少。

23樓:紀季萇泰鴻

想當於int

main()

void可有可無.都表示沒有引數.

這裡的int

指返回型別,就是這個方法要return

一個int

型別的數

main是方法名.但不同於一般的方法名,它是函式入口.就是當執行這個檔案的時候第一個執行的方法.

24樓:匿名使用者

#include

int main(void)

int 是函式的返回值型別,void是main函式的引數為void型別, 最後的返回值最好有return 0;

25樓:

int 表示函式有返回值,那麼你在main函式結束的時候要有return語句,如果沒有就會有warning

void 表示函式沒有引數。

26樓:匿名使用者

main函式返回值為int整型,參數列void為空。

c語言中return的作用,C語言中return的作用?

作用1 表示返回,這個程式可以結束了,可以不帶引數,如果你的成員執行到這裡,你就不往後執行了,可以加一個return語句,就不會再執行了 作用2 返回指定型別的值,在定義函式的時候不是有 int af int 這裡是返回值,return 後面接的就是這個返回值,這個函式執行後就可以給別的變數賦值了,...

c語言中switch結構的使用,C語言中switch結構的使用

秋風依舊好 因為case後面不能接範圍,也就是說case後面是一個確實固定的常量.用下面的方法比較好,include int main 你可以先把範圍用字母或常量代替 再用switch語句 資料 include void main else printf score scanf d s system...

c語言中的strlen函式,C語言中的strlen函式

冰 vs 霰 strlen是測量字串長度的 char d 和char a china char b 是等價的 是陣列的表示形式 而char c 卻是字元陣列所以並不能得到結果 strlen函式測量字串中字元個數,不包括結尾的 0 字元,你的 char c沒有結尾的 0 不是合法的字串,所以結果不對 ...