c語言程式設計中main和void main還有

時間 2021-08-30 11:20:53

1樓:匿名使用者

預設main等於int main,最後要加上返回值return 0。void main最後不需要返回值

2樓:匿名使用者

毫無疑問,編譯好c程式並生成exe檔案後,總要執行。這裡有個概念先解釋一下:

概念1:執行一個編譯好的exe,其實就是讓作業系統(例如windows系統,或linux系統等)來呼叫這個exe檔案中的main函式。

概念2:main函式也是函式,只不過,main函式的是由作業系統呼叫的。作業系統呼叫main函式時,可以向main函式傳遞引數;main函式返回時,也可以向呼叫者(也就是作業系統)返回一個值

明白了上述兩點,就可以解釋你的問題了:

1)main( ) 這個是 int main(void)的簡寫:意思是執行exe(作業系統呼叫main)時不需要傳入引數;main執行完後向作業系統返回一個整型值;

2)void main( ) 是 void main(void)的簡寫:意思是執行exe(作業系統呼叫main)時不需要傳入引數;main函式執行完後不需要向作業系統返回值(即返回一個void值);

3)int main(void) 與1)相同

更進一步:

如果你的main函式為:

void main(int argc,char *argv)

{int i;

for( i=1; i

編譯後,假設生成的可執行檔案為my.exe。執行這個檔案

orange

banana

3樓:匿名使用者

函式型別(函式引數)函式型別就是返回值型別了,void是空的意思吧。

4樓:藍晨星

main ()函式使用時,編譯器會自動識別為int型的,也就是說main()和int main(void)其實是一樣的,而void main()則是:沒有返回值,而且不帶引數。括號裡的東西叫做引數,初學者直接不寫就行,等你c語言入門之後就慢慢明白了。

main之前的int 叫做返回值的型別,如果是void,說明沒有返回值。

5樓:相約未來

main( ) 預設為int main,需要返回值

void main( ) 不需要返回值

main(void)主程式不需要接受外部引數

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

6樓:徜逸

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時期引入)

7樓:匿名使用者

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

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

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

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

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

8樓:小莫

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; 就行了,這樣寫基本上所有的編譯器都可以通過。

9樓:專揀米粒

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

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

10樓:匿名使用者

返回值型別不同。

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

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

echo $?

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

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

標準的main函式格式為

int main(int argc, char *argv);

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

11樓:匿名使用者

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

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

12樓:澈力木格

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

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

13樓:匿名使用者

c語言中用void main()

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

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

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

14樓:浪哥

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

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

15樓:徐臨祥

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

16樓:匿名使用者

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

可以,其他函式也可以

17樓:紹凱文昕月

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

main,寫成int

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

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

18樓:匿名使用者

一般來將,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,

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

19樓:

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

應該說,用void 的更規範吧

20樓:匿名使用者

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

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語言中,void main ,int main(void)和int main 有什麼區別?

27樓:七絃_斂月

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

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

28樓:匿名使用者

後兩者並沒有區別。

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

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

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

c語言void函式在main函式中使用的問題

逍遙散士 宣告和呼叫是兩回事,宣告void function void 括號中的void 是告訴編譯器此函式沒有引數,而呼叫時函式名後面的括號裡放時的是引數,你這樣去寫,就相當前面說明了無引數,後面又給它一個引數,程式當然出出錯了,另外呼叫時不寫返回值的型別,因為在宣告時已經寫過了,這可能是編譯器的...

c語言程式設計那個void和後面一點花括號的,表示什麼意思啊?switch(oper),在使用者輸入

void表示無型別,這裡void和後面的花括號表示的是一個沒有返回值的函式,花括號是用於限定函式的語句的範圍。c語言中常見函式定義有以下兩種。無參函式定義的一般形式 型別識別符號 函式名 其中型別識別符號和函式名稱為函式頭。型別識別符號指明瞭本函式的型別,函式的型別實際上是函式返回值的型別。該型別識...

C語言程式設計,C語言程式設計

很多程式都是非常簡單的 1.輸入2個正整數m和n,求其最大公約數和最小公倍數 include include int main 3.程式設計計算從1到10各數階乘的和,即1 2 3 9 10 的和 include int main void printf 1到10各數階乘的和 d n sum ret...