當前位置:首頁 » 編程語言 » main函數參數c語言

main函數參數c語言

發布時間: 2023-01-10 09:43:52

c語言中main函數參數用法

程序名 abc.exe ,帶位置參數 3個 或2個 或1個 ...
abc.exe 987 65 4
abc.exe 987 65
abc.exe 987

void main(int arg ,char *arv[]){}
int型參數,通過字元傳遞,
char prog_name[60];
int x1,x2,x3;
strcpy(prog_name,arv[0]); // 程序名在 arv[0]
if (arg >=2) sscanf(arv[1],"%d",&x1); // 傳遞一個int型
if (arg >=3) sscanf(arv[2],"%d",&x2); // 傳遞一個int型
if (arg >=4) sscanf(arv[3],"%d",&x3); // 傳遞一個int型
-------------
浮點計算機參數 用 if (arg >=i) sscanf(arv[i-1],"%f",&fi); 從字元串里讀出來。

❷ C語言main主函數帶參數是做什麼用的

C語言的帶參數的main函數格式為main(int
argc,char*
argv[]),其中argc為參數個數加1,argv為參數列表,從argv[1]開始。編譯後生成可執行文件,可以在執行的程序後加參數,比如編譯一個程序為test.exe,則在執行時可以輸入:
test.exe
1
firestone
在這里,argc等於3,argv[0]為"test.exe",argv[1]為"1",argv[2]為"firestone"。
如果有下面的程序:
#include
void
main(int
argc,char
*argv[])
{
printf("You've
input
%d
parameters.\n",argc-1);
for(int
i=1;i
評論
0
0
載入更多

❸ 請教c語言中main函數的參數

int main (int argc, char * argv[])
第一個參數argc是表示在運行程序是我們傳給程序的參數的個數包括程序名
argv代表我們傳給程序的參數的具體值,它是一個二維字元數組。調用時可以這樣argv[0],argv[1]......來取出具體參數的值。

❹ C語言深度總結[全面認識main函數傳遞參數]

        argc和argv是main函數的形式參數。這兩個形式參數的類型是系統規定的。如果main函數要帶參數,就是這兩個類型的參數;否則main函數就沒有參數。

堅持使用標準的意義在於:當你把程序從一個編譯器移到另一個編譯器時,照樣能正常運行。

     由於是 int main( ..) 那麼當時 應當返回 int但是return 2.3 ;也能運行正確,這是因為編譯器自動轉換2.3為int,截斷後為return 2;  

     如果寫為 return "abc";那麼會報錯,  error C2440: 「return」: 無法從「const char [4]」轉換為「int」。

        變數名稱argc和argv是常規的名稱,當然也可以換成其他名稱。那麼,實際參數是如何傳遞給main函數的argc和argv的呢?我們知道,C程序在編譯和鏈接後,都生成一個可執行文件。也可以在命令行下帶參數執行,命令行執行的形式為:可執行文件名稱 參數1 參數2 ... ... 參數n。可執行文件名稱和參數、參數之間均使用空格隔開。

如果按照這種方法執行,命令行字元串將作為實際參數傳遞給main函數。具體為:

(1) 可執行文件名稱和所有參數的個數之和傳遞給argc;

(2) 可執行文件名稱(包括路徑名稱)作為一個字元串,首地址被賦給argv[0],參數1也作為一個字元串,首地址被賦給argv[1],... ...依次類推。

字元串arav[i](i=1,...argc-1)表式第 i 個程序參數,標准C 要求argv[argc]是個null指針,但在有些舊時編譯器中卻不是這樣的,argv向量以及它所指向的字元串必須是可以修改的,並且他們的值在程序執行期間不能被編譯器或操作系統所修改。如果編譯器並不允許大小寫混合的字元串 ,則存儲在argv中的字元串必須採用小寫形式。

1.給main函數傳遞參數只有一種方式,即main(int argc, char *argv[])。第一個參數必須int,第二個(如果有的話)必須是char**或char *argv[]。

2.argc代表傳入參數的個數,argv是一個數組,每個元素都是一個char *。字元串arav[i](i=1,...argc-1)表式第 i 個程序參數,標准C 要求argv[argc]是個null指針。

3.main函數參數理論上支持「無數」個,且參數在進程內支持修改。

❺ C語言main主函數帶參數是做什麼用的

在調用可執行程序時,可以通過main函數的參數將命令行的調用參數傳遞給main函數。

一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括弧不能省略。

具體形式如下:

main(){ }

被大括弧{ }括起來的內容稱為main函數的函數體,這部分內容就是計算機要執行的內容。

在{ }裡面每一句話後面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標志。

(5)main函數參數c語言擴展閱讀:

程序執行總是從main函數開始,如果有有其他函數,則完成對其他函數的調用後再返回到主函數,最後由main函數結束整個程序。在執行程序時,由系統調用main函數。

main 函數是在程序啟動中完成對具有靜態存儲期的非局部對象的初始化之後被調用的。它是程序在有宿主 (hosted)環境(亦即有操作系統)中所指定的入口點。自立程序(啟動載入器,操作系統內核,等等)的入口點則是由實現定義的。

❻ C語言中的main函數參數作用

在調用可執行程序時,可以通過main函數的參數將命令行的調用參數傳遞給main函數。

事實上,main()函數既可以是無參函數,也可以是有參的函數。對於有參的形式來說,就需要向其傳遞參數。

從函數參數的形式上看,包含一個整型和一個指向字元指針的指針。當一個C的源程序經過編譯、鏈接後,會生成擴展名為.EXE的可執行文件(對windows操作系統而言),這是可以在操作系統下直接運行的文件,換句話說,就是由系統來啟動運行的。由系統在啟動運行時傳遞參數。

在操作系統環境下,一條完整的運行命令應包括兩部分:命令與相應的參數。其格式為:

命令參數1參數2....參數nt;

此格式也稱為命令行。命令行中的命令就是可執行文件的文件名,其後所跟參數需用空格分隔,並為對命令的進一步補充,也即是傳遞給main()函數的參數。

命令行與main()函數的參數存在如下的關系:

設命令行為:program str1 str2 str3 str4 str5

(6)main函數參數c語言擴展閱讀:

main 函數的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統)。

如果 main 函數的最後沒有寫 return 語句的話,C99 規定編譯器要自動在生成的目標文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return 語句,雖然沒有這個必要,但這是一個好的習慣。

也就是說在最新的C語言標准中強制要求main函數的返回值類型為int,main函數的返回值是傳遞給操作系統,讓操作系統判斷程序的執行情況(是正常結束還是出現異常)。

❼ 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");
}

熱點內容
c語言fread返回值 發布:2025-07-12 16:57:32 瀏覽:678
王者榮耀在哪裡顯示賬號密碼 發布:2025-07-12 16:36:42 瀏覽:898
打包sql資料庫 發布:2025-07-12 16:19:27 瀏覽:796
php日誌查看 發布:2025-07-12 16:12:10 瀏覽:214
ftp目錄映射為本地盤符 發布:2025-07-12 16:06:59 瀏覽:645
nas存儲百科 發布:2025-07-12 16:03:17 瀏覽:126
python的sort函數 發布:2025-07-12 15:53:21 瀏覽:50
ensp伺服器怎麼設置web根目錄 發布:2025-07-12 15:47:56 瀏覽:286
安卓怎麼設置二卡發信息 發布:2025-07-12 15:43:50 瀏覽:743
如何看到無線密碼 發布:2025-07-12 15:43:13 瀏覽:677