1. c語言main函數問題 回答好追加分!
1.
main(){}
2.
mymain(){}
3
main(){
mymain();
}
我看你們老師的意思是
讓你先寫個空的main函數
然後改成你自己的函數
然後你自己再編寫一個main函數
接下來應該要你在新編寫的main函數里執行
mymain();
或者是讓你看程序有沒有執行mymain(){}
最後你們老師的結論就是程序是從main函數開始到main函數結束
結束
2. C語言 主函數 main 到底是什麼
在dos的tc編輯器中,main主函數的類型是省略寫的,也就是前面的類型不用標示,系統默認一個類型,我記不很清楚了,好像是int型的(這個我不確定,可以網路一下)
這個是標示函數的返回值類型的,c是有若干函數組從的,每個函數都有自己的返回類型和返回值。這個是龜腚
main也是函數,所以也有類型和返回值,只不過一般用戶用不到。所以就省略去了,不標示也可以
但是在vc6.0這樣的編輯器中,這個類型是不能省略的,必須標上,要不然會編譯報錯
3. C語言main函數
我們用命令行時可以有很多選項參數,但main只有兩個參數,所以第二個參數是數組,命令行的多個參數就可存在數組中了。
4. c語言中main函數的參數
main函數可以不帶參數,也可以帶參數,這個參數可以認為是 main函數的形式參數。
C語言規定main函數的參數只能有兩個,還規定argc(第一個形參)必須是整型變數,argv( 第二個形參)必須是指向字元串的指針數組。加上形參說明後,main函數的函數頭應寫為:
int main (int argc,char *argv[])
由於main函數不能被其它函數調用,因此不可能在程序內部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從操作系統命令行上獲得的。當我們要運行一個可執行文件時,在DOS提示符下鍵入文件名,再輸入實際參數即可把這些實參傳送到main的形參中去。
DOS提示符下命令行的一般形式為:
C:\>可執行文件名 參數 參數……
5. C語言main函數詳解
我以前學習C的時候收集過很多資料, 都是很認真的做過筆記. 關於main函數 有很大一塊. 你加 QQ349057379我發給你
6. C語言main函數參數
所謂命令行參數就是這樣,假設你編譯出來的可執行文件為a.exe,然後你輸入指令調用程序的命令是: a b c這樣時,程序會將輸入的指令變成3個字元串,分別是"a","b",和"c",並且通知你可用的字元串個數。
#include<stdio.h>
#include<string.h>
struct mmm { int num; char name[40]; } me;
void main(int argc,char* argv[]) { int b=0;
me.num=100001; strcpy(me.name,"小明");
if ( argc>1 ) {
b=1;
if ( strcmp(argv[1],"-xuehao")==0 ) printf("學號:%d\n",me.num);
else if ( strcmp(argv[1],"-name")==0 ) printf("姓名:%s\n",me.name);
else b=0;
}
if ( b==0 ) printf("命令行未包含有效參數。\n");
}
7. c語言main函數的位置是什麼
C語言中main函數可以在任意位置。
每一個C語言程序有且只有一個主函數(main()),且程序必須從main()函數開始,它是程序開始時調用的第一個函數。函數定義形式:【int main(void){}】。
C語言規定,在一個C程序中,main()函數可以在任意位置。
解析:
每個C程序有且只有一個主函數(main),且程序必須從main()函數開始執行,而且main()函數可以放在程序中的任意位置。
詳細介紹:
在宿主環境中編譯的C程序必須定義一個名為main的函數,這是程序開始時調用的第一個函數。
main()函數的定義有以下兩種形式:
(1)函數沒有參數,返回值為int類型。int main( void ) { /*…*/ }.
(2)函數有兩個參數,類型分別是int和char**,返回值是int類型。int main( int argc, char *argv ) { /*…*/ }.
這兩種定義方式都符合C語言標准。除此之外,許多C的實現版本還支持第三種、非標准語法的定義方式:int main( int argc, char *argv, char *envp ) { /*…*/ }.
函數返回值是int,有3個參數:第一個是int,另外兩個是char**。
8. C語言中的main()函數
一、定義
main函數,又稱主函數,是程序執行的起點,main是相對來說的,如同音學理論之主調於泛音,泛音即程序中的除main之外的其他函數,迎合人們的思考方式而生成的而非必定的模式.有主有次,執行起來條清縷析,既可將程序模塊化又實現了一個閉合的整體。
二、main()函數的形式
在最新的 C99 標准中,只有以下兩種定義方式是正確的:
int main(void) /*無參數形式*/
{
...
return 0;
}
int main(int argc, char *argv[]) /*帶參數形式*/
{
...
return 0;
}
int指明了main()函數的返回類型,函數名後面的圓括弧一般包含傳遞給函數的信息。void表示沒有給函數傳遞參數。
三、main()函數的返回值
從前面我們知道main()函數的返回值類型是int型的,而程序最後的 return 0; 正與之遙相呼應,0就是main()函數的返回值。那麼這個0返回到那裡呢?返回給操作系統,表示程序正常退出。
因為return語句通常寫在程序的最後,不管返回什麼值,只要到達這一步,說明程序已經運行完畢。而return的作用不僅在於返回一個值,還在於結束函數。
四、main()函數的參數
C編譯器允許main()函數沒有參數,或者有兩個參數(有些實現允許更多的參數,但這只是對標準的擴展)。這兩個參數,一個是int類型,一個是字元串類型。
第一個參數是命令行中的字元串數。按照慣例(但不是必須的),這個int參數被稱為argc(argument count)。第二個參數是一個指向字元串的指針數組。命令行中的每個字元串被存儲到內存中,並且分配一個指針指向它。
按照慣例,這個指針數組被稱為argv(argument value)。系統使用空格把各個字元串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最後的第一個字元串賦給argv[1],等等。
(8)c語言main函數擴展閱讀
C++中的main函數的應用:
C++繼承了C語言的大部分特性,因此保留了「程序總是從main函數開始執行,且總是默認從main函數的return語句或結尾處結束運行」這一傳統,但是要注意,C++中的main函數要想作為程序執行的出入口,必須寫在全局(Global)范圍,不能寫成某個結構體或某個類的成員。
雖然main函數可以作為結構體或者類的成員函數,但相應地會失去作為程序出入口的功能。C++中全局main函數的書寫格式與C語言完全相同,功能也完全相同,且同一C++程序同樣只能有一個全局main函數。
9. C語言中的main函數參數作用
在調用可執行程序時,可以通過main函數的參數將命令行的調用參數傳遞給main函數。
事實上,main()函數既可以是無參函數,也可以是有參的函數。對於有參的形式來說,就需要向其傳遞參數。
從函數參數的形式上看,包含一個整型和一個指向字元指針的指針。當一個C的源程序經過編譯、鏈接後,會生成擴展名為.EXE的可執行文件(對windows操作系統而言),這是可以在操作系統下直接運行的文件,換句話說,就是由系統來啟動運行的。由系統在啟動運行時傳遞參數。
在操作系統環境下,一條完整的運行命令應包括兩部分:命令與相應的參數。其格式為:
命令參數1參數2....參數nt;
此格式也稱為命令行。命令行中的命令就是可執行文件的文件名,其後所跟參數需用空格分隔,並為對命令的進一步補充,也即是傳遞給main()函數的參數。
命令行與main()函數的參數存在如下的關系:
設命令行為:program str1 str2 str3 str4 str5
(9)c語言main函數擴展閱讀:
main 函數的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統)。
如果 main 函數的最後沒有寫 return 語句的話,C99 規定編譯器要自動在生成的目標文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return 語句,雖然沒有這個必要,但這是一個好的習慣。
也就是說在最新的C語言標准中強制要求main函數的返回值類型為int,main函數的返回值是傳遞給操作系統,讓操作系統判斷程序的執行情況(是正常結束還是出現異常)。
10. c語言main函數的參數都是什麼意思
argc---是帶入參數的個數,argv[]是中每個數組元素代表每個帶入的字元串參數,如執行文件名為「hello」,如果執行 hello a,
int main(int argc,char *argv[])
{
printf("argc:%d\n",argc);
printf("argv[0]:%s\n",argv[0]);
printf("argc[1]:%s\n",argv[1]);
return 0;
}
結果:
argc:2
argv[0]:./hello
argv[1]:a