當前位置:首頁 » 編程語言 » 怎麼在c語言里只用main函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼在c語言里只用main函數

發布時間: 2022-07-28 18:11:06

c語言中是不是必須要有main函數

c++中為什麼需要main函數的解釋如下:
1、這個是由系統的C++運行時決定的,編譯器生成目標系統上的可執行文件時,操作系統啟動的入口就是C++運行時(C++ runtime system), 然後運行時完成初始化之後會調用main函數。
2、main函數定義了函數調用的入口,具體用法如下:
(1)main()函數及其參數
C++標准允許主函數main()有或沒有參數列表。 您能在主函數main()中使用一個或更多的參數。 如下是一些慣例:
int main(int argc, char *argv[])
第一個參數argc,指明有多少個參數將被傳遞給主函數main(),真正的參數以字元串數組(即第2個參數argv[])的形式來傳遞。每一個字元串均有自己意思。在這句法上面, 記住, argc代表參數的數量, main()函數本身是在索引0為的第一參數。
(2)所以, argc總是至少為1 。它的總數是從argv列陣的元素數目。 這意味著, argv[0]的值是至關重要的。 如果用戶在控制台環境中程序名稱後鍵入含參數的指令, 那麼隨後的參數將傳遞給argv[1] 。 例如, 如果程序名稱為main,並且已經事先編譯好了,這時如果用戶鍵入:D:/MyPrograms/AConsoleApp/main 68
值68將會傳遞給argv[1]
當然取決於你怎麼樣來編寫程序了,也許你的用戶將可以輸入如下指令:
D:/MyPrograms/AConsoleApp/main 68 1250.50
因為參數argv是一些字元串,將這些字元串轉換為你需要的值就是我們程序員的任務了。

㈡ C++的main函數怎樣使用

main函數有2種使用方法。
語法
第一種;
int
main()
{
return
0;//返回值,也就是結束程序
這個大括弧裡面都是語句快
}

語法第二種;
void
main()
{
語句快內容,這個裡面可以沒有返回值
}

㈢ 怎樣書寫一個C語言程序的main函數

一般:
main()
{
...
}
最完整:
int main(int argc,char* argv[])
{
...
}
解釋:
main函數是運行程序時由系統調用的,知道程序內函數調用是怎麼回事,這應該不難理解,意味著程序從這里開始,到main結束完。main返回時也可使程序結束,返回值的意義自己去查一下即可。第一個參數是DOS下程序被調用時輸入的字元串數量,第二個是字元串內容,例如用這個命令調用
C://a.exe abc q.txt
第一個參數是3,argv[0],[1],[2]分別是"C://a.exe""abc""q.txt"

㈣ 在C語言中什麼時用void main() 什麼時用main()

main是主函數,也是一個函數,按道理也是要指出是否有返回值或者沒有返回值的。如果有返回值還要指出返回值的類型。
main()不是標準的寫法,是初學的時候用的。
應該寫為
void
main()
//無返回值函數
或者
int
main()
//返回值是int類型的。
例如以下程序:
int
main(
)
{
return
0;
//一定要有返回值
}

㈤ 初學編程,C語言中的main函數

考慮到main函數的特殊性,lz不明白這個問題可以理解。
main()是省略了返回值類型,C語言會默認認為成main的類型為int,在main()的函數體內要返回一個值,如return 0;
而void main()的返回值是void類型,也就是說沒有返回值。這樣在main()的函數體內你就不用寫return 0;或者return 1;之類的返回語句。
在一個程序中,可以說你看不出兩者的差別,因為main()是C語言的入口點,入口點如果返回了程序也就結束了,因此C語言的這個特性似乎沒用。可沒用的話,C語言的設計者為什麼要這么做呢?!肯定有用。
沒錯,前面我說的是在一個程序中,它似乎沒用。可如果一個程序prog2調用另一個程序prog1的話(這里指的是prog2直接調用prog1編譯好的可執行文件),那麼這個特性就有用了。因為prog2要知道prog1運行之後的狀態。比如你用C寫了一個刪除文件的程序(暫且命名為delf),然後用另一個程序去調用delf,那麼調用結果怎麼樣啊?這個文件是否刪掉了?這是int main()就會派上用場了。C語言中默認的main如果返回為0,那麼這個程序調用就成功了,其他值,則為不同的錯誤代碼。在你的delf程序中,如果那個文件刪除成功,那麼就在int main()中返回0,其他調用delf的程序就知道,噢,這個操作成功了。
在unix/linux系統中的很多命令都是通過這種方式獲得運行結果的。

關於譚浩強的書,我想不用多說,發行量說明了一切。畢竟第二版在編寫的時候還比較早,而第三版根據很多現在的需要進行了改寫,內容當然會好些。鑒於lz是初學C,其實大可不必在這個問題上浪費太多時間,當你有了更多的項目經驗,對這個問題會有更深刻的理解。
上面我已經給出了main()、int main()和void main()的區別,但建議lz忽略這個差別,認為成二者一樣,先把C的其他部分學好。至於只寫成main(),我並不推薦,就算編譯器通過了,這種編程的風格也太不嚴謹,不利於好的習慣的養成。

㈥ C語言怎麼在main函數里寫自定義函數,格式是怎麼樣的請舉例!!

在C中函數是不可以嵌套定義的,也就是說
在main函數里寫自定義函數
這種說法是錯誤的,你只能在Main外面定義,在Main中調用
比如:
int
max(int
a,int
b)
{if
(a>b)
return
a;else
return
b;}
main()
{
printf("%d\n",max(3,7));
}

㈦ 關於C語言main函數的調用

在C語言中,main函數可被遞歸調用
在C++標准中,main函數不可以被遞歸調用
但是許多C++編譯器對標准作出了擴展,使得main函數可以被遞歸調用。
可以用Visual
C++做個實驗
1)用/Tc編譯器選項(使用C編譯器),main可以遞歸調用
2)用/Tp(編譯C++)和/Ze(啟用語言擴展),main可以遞歸調用
3)用/Tp(編譯C++)和/Za(禁用語言擴展),
main不可以遞歸調用
另外,根據我的經驗,90%的C/C++書籍作者對C/C++並不是完全了解。只有看經典書籍才能在技術細節上沒有錯誤或模糊。

㈧ 使用c語言,實現如下功能(需要用main函數)

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a[10],b[10],j = 0,tem;
for(int i = 0;i < 10;i++)
{
cout <<"請輸入第"<<i+1<<"個數:";
cin >> a[i];
}
for(int i = 0;i < 9;i++)
if(a[i] == a[i+1])
{
b[j] = a[i];
j++;
}
cout << "處理完畢!"<<endl;
cout <<"請輸入需要判斷的數:";
cin >> tem;
int cou = 0;
for(int i = 0;i < j;i++)
if(b[i] == tem)cou++;
cout << "一共有" <<cou <<"個備用數值和輸入數值相等。"<<endl;
return 0;
}

㈨ 為什麼說一個C語言源程序只能並且必須只有一個main()函數

一個大工程運行首先得找到入口啊,main()函數就是這個入口,所以程序就從main函數開始執行,要是有多個main的話程序就不知道從那裡開始執行了,這樣不就亂套了嗎