位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 main()函數(shù)的參數(shù)

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-02

    所有的函數(shù)在內(nèi)存中都有一個(gè)入口地址,稱為函數(shù)的指針。要調(diào)用某函數(shù),需要找到該函數(shù)的入口地址,從該地址開始執(zhí)行,而main()函數(shù)是整個(gè)程序的入口。main()函數(shù)也可以被調(diào)用,認(rèn)為是被系統(tǒng)所調(diào)用。在以往的程序中,主函數(shù)main()都使用其無參形式。實(shí)際上,主函數(shù)main()也可以使用帶形參的形式。


1.main()函數(shù)的有參形式

main()函數(shù)的有參形式為:

main(int argc, char  *argv[ ])

{

    …

}

【例題】求ASCII最大的字符

建立一個(gè)main()函數(shù)帶形參的程序,程序執(zhí)行時(shí),從鍵盤上輸入任意多個(gè)字符,求其中ASCII最大的字符。

#include <stdio.h> 

main(int argc, char *argv[])

{

    int i;

    char c=*argv[l];         /*假設(shè)第一個(gè)字符就是最大值*/

    for(i=2;i<argc;i++)

        if(c<*argv[i])

            c=*argv[i];

    printf("The max character is %c\n",c);

}

程序執(zhí)行過程如下:

①先將該程序編譯并鏈接,但不執(zhí)行。

②找到“開始”菜單下的“運(yùn)行”對話框,輸入“cmd”單擊“確定”按鈕,進(jìn)入命令行窗口中。

③打開命令行窗口默認(rèn)的目錄“C:\WINDOWS\system32”,將路徑定位到該文件的可執(zhí)行文件所在的目錄。如本程序保存在“C:\”,則該程序的可執(zhí)行文件存在于“C:\debug”目錄下。使用如下DOS命令進(jìn)入:

    cd\


    cd debug

④之后輸入該文件名,例如本文件名為(lianxl.c),并給出參數(shù):

    lianxil a b c d e f g

輸出結(jié)果為:

    The max character is c

2.說明

(1)帶形參的主函數(shù),必須在操作系統(tǒng)狀態(tài)下輸入主函數(shù)所在的可執(zhí)行文件名及所需的實(shí)參,然后按Enter鍵,才可執(zhí)行。

(2)執(zhí)行該帶形參的main()函數(shù)的程序命令行的一般格式為:

    可執(zhí)行文件名  實(shí)參[  實(shí)參2……]

實(shí)參與實(shí)參之間以空格分隔。

(3)形參argc是命令行中參數(shù)的個(gè)數(shù)(可執(zhí)行文件名本身也算一個(gè))。如本例中,形參argc的值為8。

(4)形參argv是一個(gè)字符指針數(shù)組’即其元素值都是指向?qū)崊⒆址闹羔槨?/p>

    在本案例中,元素argv[0]指向第1個(gè)實(shí)參字符串“l(fā)ianxiV”,元素argv[1]指向第2個(gè)實(shí)參字符串“a”,元素argv[2]指向第3個(gè)實(shí)參字符串“b”,元素argv[3]指向第4個(gè)實(shí)參字符串“c”,元素argv[4]指向第5個(gè)實(shí)參字符串“d”……元素argv[7]指向第8個(gè)實(shí)參字符串“f”。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部