C語言 命令列引數

2021-09-26 07:10:30 字數 1358 閱讀 2693

c語言源程式經編譯和連線處理,生成可執行程式後,才能執行。例如,test.c是乙個簡單的c語言源程式:

#include

intmain

(void

)

經過編譯和連線後,生成可執行程式test.exe,它可以直接在windows環境下以命令方式執行。比如,將其放到桌面,在dos中,輸入test即可執行:

輸入命令時,在可執行檔案(命令)名後面可以跟一些引數(命令列引數),一般形式為:

命令名 引數1 引數2 … 引數n
命令名和引數之間用空格分隔,也可以沒有引數。

在c語言中,主函式main()可以有兩個引數,用於接收命令列引數。帶引數的main()習慣寫法為:

int

main

(int argc,

char

* ar**)

第乙個引數argc(argument count)用於接收命令列引數(包含命令)的個數;第二個引數ar**(argument vector)接收以字串常量形式存放的命令列引數(包括命令本身也作為乙個引數)。字元指標陣列ar**表示各個命令列引數(包含命令),其中ar**[0]指向命令,ar**[1]指向第乙個命令列引數,ar**[2]指向第二個命令列引數,…,ar**[argc-1]指向最後乙個命令列引數.

編寫程式echo,輸出所有命令列引數在同一行上。

#include

intmain

(int argc,

char

* ar**)

輸入:echo hello world輸出:hello world

由於ar**是函式main()的形參,儘管定義時一般寫成陣列形式,但實際上還是指標,在程式中可以直接改變它的值。上面echo.c中的迴圈也可以寫成:

for

(k=1

,ar**++

;k)printf

("%s ",*

(ar**++))

;

注意有坑:windows自帶echo,建議儲存c程式原始檔時對檔名進行修改,不使用echo,或者在命令列使用echo.exe hello world避免直接呼叫系統的echo。

C語言命令列引數

之前曾經使用過很多次c語言的命令列引數了,但是總是每次使用的時候都不太確定,需要重新查資料,這次來個總結。c語言的命令列引數非常簡單,只需要乙個簡單的例子就可以說明 cpp view plain copy include void main intargc,char argv 在上面的例子中,我們給...

C語言 命令列引數

可以通過main函式帶上兩個引數來獲取命令列的引數。argc 命令列引數的個數。argv 由命令列引數組成的字串陣列。include int main int argc,char argv return 0 編譯後執行結果 gcc test.c o test test a b c argv 0 te...

C語言命令列引數

執行程式時,可以從命令列傳值給 c 程式。這些值被稱為命令列引數,它們對程式很重要,特別是當您想從外部控制程式,而不是在 內對這些值進行硬編碼時,就顯得尤為重要了。命令列引數是使用 main 函式引數來處理的,其中,argc 是指傳入引數的個數,ar 是乙個指標陣列,指向傳遞給程式的每個引數。下面是...