1樓:DR.JC
int main代表你main函式定義為整形,函式最後要加上返回值。
void main或者就main代表你是無型別函式,函式最後不能加上返回值。
2樓:Eason同學
害,我一開始也一直寫void 為了省事
後來發現到了一些嚴謹的編譯器會直接報錯
貌似c必須要有返回值?反正後來我也return 0了
3樓:皮卡丘黃了吧唧
返回值的問題嘛,你寫的int main就需要寫寫返回值return int型別
寫void main 就不用寫返回值,當然寫也沒問題其實在C90版本以前可以直接寫main的
不過呢,我覺得你們老師可能是想讓你們注意一下這個返回值的問題吧,雖然說寫void的時候可以不寫,但是這種書寫習慣不好,我到現在有些時候寫C的程式,就算我用的void 我也會在結尾加上return;代表函式的結束,你寫的程式其實大部分情況下都是給別人看的,簡潔的、明確的寫法會讓讀者更喜歡
4樓:對不起非凡哥
C99裡面規定乙個程式正常結束的標誌是得到返回值0。在你的程式結束後,你關心的事完成了,可是系統還要關心後面的工作,它會獲取你的這個返回值,根據情況做它後面的處理。
如果你main函式是void型,雖然與int型寫出來的程式裡你關心的事結果是完全一樣的,但是由於你沒有給系統返回值,系統是沒辦法做接下來它需要做的事的,就會導致例如記憶體持續被占用無法釋放之類的問題。
5樓:德拉科-黃
int和void都是返回型別,c語言函式宣告的時候要宣告函式完成時返回乙個資料,int表示返回的是int型別,void表示不用返回。
6樓:半城丶
我也不是很懂,今天上實驗課我問了老師他說void是乙個空函式不需要返回值,int main需要返回值。我也用的void寫的,沒有被批評是錯的
7樓:李皓奇
寫這個答案主要是為了自己複習一遍加深記憶。
C的標準:main函式預設返回型別為int,預設return 0語句。
所以C的main最簡單寫法是main(void)。
C++的標準:函式引數列表為空則預設為void,預設return 0語句。
所以C++的main最簡單寫法是int main()。
至於C裡面「著名」的void main(),是乙個不符合標準但又可以在一堆環境下通過的寫法,不被推薦。
8樓:黑眼圈
在linux中,每個指令執行完都會有乙個返回值儲存在?變數中,可以在指令碼中判斷上一條指令執行是否成功,而這個返回值就是通過main函式的return 0返回的。當然,void main 也不會報錯。
9樓:Charlie
主函式返回值為整型是規定(C99)。為什麼返回的數為什麼非要是0呢,我記得返回0表示這個程式執行正確,返回值!0說明出問題了。
有的書上(國內C語言紅寶書),主函式返回型別用空,按規定是錯的,有些編譯器根本就不認(比如GCC)
OK~that~
感覺被打臉了~
後來手動加上c99的支援~
~上次給學弟們演(zhuang)示(bi)還不是這個樣子的~~~@Salted Filsh 大牛快救我~~~不過在開發微控制器的時候,好多IDE用的並不是標準的C語言編譯器,所以開發微控制器用void沒問題~~
10樓:王華
c語言發明者寫的c語言教程反覆強調void main是錯的。
但編譯器其實是可以通過的。
比如int n=5;
int a[n];語法是錯誤的
但你的編譯器是C99標準就可以通過
11樓:此處空白
void main表示函式沒有返回值,而main則有返回值。只不過給省略了而已!函式沒有宣告型別時預設是為整型的,main等同於int main 。
自定義函式時如果主函式用的是void main,就不能使用return把值返回給主函式,會報錯
12樓:SuperSodaSea
看起來你遇到了乙個好老師……
為什麼主函式用int main()比用void main()好?
C11 5.1.2.2.1 程式啟動return 0 倒不是必須的:
C11 5.1.2.2.3 程式終止不過你加上也沒問題。
c語言中int main 主函式的結尾為何有時有return 0有時沒有?
楓子 return 0首先是告知程式結束,很重要的一點是輸出到標準錯誤流,表示程式執行正確。除錯程式的時候可以編寫 return 1或者其他不是0的數字。表示程式執行出錯。 文林 以上所有答案都不完整,甚至還有錯誤的答案,其實這種問題,試試不就知道了嗎。寫乙個test.c include int t...
C語言中,double 和double 5 有什麼區別?怎麼理解?
暮無井見鈴 double 5 是指向 double 5 型別的指標型別。double 是指向 double 型別的指標型別。區別不是很顯然的嗎?double 5 型別能隱式轉換成 double 型別,但它們不是同一型別。可以考慮一下 short 和 long 這兩種型別是能相互隱式轉換的,但它們顯然...
請問 C 語言中 和 的用法?
記住 有3個用途 1.乘號 Multiply 2 3 就是6 2.宣告指標 Pointer Statement int a 5 int ptr a 就是宣告變數a是5,把a的位址附到指標ptr上 3.解引用 Dereference ptr 單獨拿出來就是找出 ptr指標指向的值,按照第二點的說法就是...