主函式int與void有什麼區別?C語言

2021-03-07 04:02:35 字數 5065 閱讀 7531

1樓:匿名使用者

主函式返回值可以定義為兩種,int型或void型。區別在於int型main函式需要有返回值,而void型則不需要。

1、 main函式返回值作用:

每個c程式最終的目標是為了執行,也就是編譯成可執行檔案後,被執行。 main函式的返回值將被傳遞到主調程序中,主調程序可以通過返回值判斷是否執行正常。

2、在標準的c語言中,推薦主函式有返回值,並一般約定返回0代表程式工作無問題。

3、在呼叫乙個可執行檔案時,並不能很直觀的得到返回值,而需要額外的操作。 比如在shell指令碼或者批處理中以變數儲存返回值並顯示,或者通過echo語句顯示特定的內建變數值。

4、由於獲取返回值比較麻煩,並不是特別實用,所以更常用的方式是在程式中新增列印資訊來提示是否執行成功。於是才有了void型別的main函式。

5、使用void型main函式,等於放棄了通過返回值來表明程式是否執行成功的渠道,這對於在shell指令碼或者批處理檔案中呼叫可執行程式時,判斷是否執行政策是很不利的,所以如果想要所寫的程式可以有更強的適應性,還是使用int作為main的返回值型別為好。

2樓:匿名使用者

void是不標準的,是不符合一般標準的,int本身是接收乙個int型的返回值因此可以讓編譯器知道何時程式結束,void沒有返回值

3樓:fu法c克k油

型別不同。int代表整數。

void代表空。

在c語言中,int 函式與void 函式有什麼區別

4樓:會飛的小兔子

1、作用不同

主函式copy

返值可以定義為兩種,int型或void型。區別在於int型main函式需要有返值,而void型則不需要。

main函式返zhi值作用:每個c程式最終的目標是為了執行,也就是編譯成可執行檔案後,被執行。main函式的返dao值將被傳遞到主調程序中,主調程序可以通過返回值判斷是否執行正常。

2、操作方式不同

在標準的c語言中,推薦主函式有返回值,並一般約定返回0代表程式工作無問題。在呼叫乙個可執行檔案時,並不能很直觀的得到返回值,而需要額外的操作。

比如在shell指令碼或者批處理中以變數儲存返回值並顯示,或者通過echo語句顯示特定的內建變數值。

3、結果的不同

使用void型main函式,等於放棄了通過返回值來表明程式是否執行成功的渠道,這對於在shell指令碼或者批處理檔案中呼叫可執行程式時,判斷是否執行政策是很不利的,所以如果想要所寫的程式可以有更強的適應性,還是使用int作為main的返回值型別為好。

5樓:ml中國夢

int 返回值為乙個整數,void表示沒有返回值

6樓:傑~★~兒

int,表示計算機在bai訪問資料

du時,是按四zhi個位元組從記憶體上訪問,dao就好比要買一盒餅內幹容,一盒餅乾不能單獨一塊餅乾去賣,必須打包好一整盒才能賣。

那麼void就好比散裝的一塊一塊餅乾,不能一塊餅乾賣給你。拿到計算機上來說,就是void型別不能用來存放資料,必須需要強制轉換後才能使用。

7樓:給陽光1個微笑

int有返回值 void沒返回值

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

8樓:徜逸

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

9樓:匿名使用者

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

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

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

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

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

10樓:小莫

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

11樓:專揀公尺粒

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

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

12樓:匿名使用者

返回值型別不同。

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

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

echo $?

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

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

標準的main函式格式為

int main(int argc, char *argv);

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

13樓:匿名使用者

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

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

14樓:澈力木格

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

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

15樓:匿名使用者

c語言中用void main()

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

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

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

16樓:浪哥

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

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

17樓:徐臨祥

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

18樓:匿名使用者

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

可以,其他函式也可以

19樓:紹凱文昕月

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

main,寫成int

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

c語言中的函式,test() 和test(void)有什麼區別嗎?

20樓:匿名使用者

1、test()表示函式可以任意型別,任意個數的引數,比如test(1),test(1, 2)都是沒有問題的。

2、test(void)表示函式不能接受任意引數,test(1)和test(1, 2)都是不能通過錯誤的。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

21樓:王愛飛

在c++中,test()和test(void)沒有什麼不同;

在c中,兩者有不同

1.test()表示函式可以任意型別,任意個數的引數,比如test(1), test(1, 2)都是沒有問題的

2.test(void)表示函式不能接受任意引數,test(1)和test(1, 2)都是不能通過錯誤的

C中定義函式void與int,在呼叫時的區別

前面加bai 有void 的函式,不能返回 du任何資料,zhireturn語句不能使用,這類函式dao應該將內所有應該實現的容功能在本函式內全部實現。但是並不是不能與外部交換資料,仍然可以通過引用型引數傳遞資料,只是呼叫時不能直接接受返回值,因為就沒有返回值。前面有int的函式,返回值是整型數,可...

函式和對映的區別是什麼,函式與對映有什麼區別

廣義上說,函式和對映同意。如果狹義上理解函式,那麼它是限於定義域和值域都是數的對映 函式要求定義域和值域都是數的集合.而對映可以是數集可以是影象可以是 等等.範圍比函式大多了.參考高等數學北大版 函式是特殊的對映,之所以特殊,是因為函式只能是非空的數集產生的對應關係,而對映是指非空集合之間的對應關係...

函式與對映有什麼區別對映與函式有什麼區別

簡單的說 函式一定是對映,但是對映不一定是函式 影射是兩個非空集合之間的對應,而函式是非空數集之間的對應 參考 對映與函式 基本內容 1.對映的概念 對映 設a,b是兩個集合,如果按照某種對應法則f,對於集合a中的任何乙個元素,在集合b中都有唯一元素和它對應,這樣的對應叫做從集合a到集合b的對映.記...