C 命令列引數

2021-10-05 18:03:59 字數 2157 閱讀 3694

回顧一下我們的學習歷程

第乙個c程式

int

main()

隨著進一步學習,空著似乎不太好,於是加上了void

int

main

(void

)

到後面越來越頻繁的看到括號內出現了兩個引數agrc和ar**的寫法

int

main

(int argc,

char

*ar**)

int

main

(int argc,

char

**ar** )

在unix和ms-dos,使用者在命令列中編寫引數來啟動程式。這些引數傳遞給程式,程式按照它認為合適的任何方式來處理引數

把agrc和ar**換成a和b未嘗不可,但這麼做會影響程式的可讀性

c程式的main函式有兩個形參

argc

ar**

表示命令行引數的數目

指向一組引數值的第1個元素

ar**是乙個指標陣列,每個元素都指向了乙個字串,末尾是乙個null指標

#include

#include

intmain

(int argc,

char

**ar** )

在windows環境下用命令列編譯執行程式

第乙個列印出來的是a,正是exe的檔名,可見,ar**的第1個引數是程式的名稱,上面的ar**示意圖中的cc是程式名

/*

**列印命令列引數

*/#include

#include

intmain

(int argc,

char

**ar** )

return0;

}

對命令列引數進行處理,程式能從外部知道當前的執行模式,相較於重新編寫而言給了程式設計很大的靈活性

/*通過命令引數選擇公升序排序或降序排序*/

#include

#include

#define true 1

#define false 0

#define size sizeof(a)/sizeof(int)

void

sort_ascending

(int

*array,

int n )

;void

sort_deascending

(int

*array,

int n )

;int

main

(int argc,

char

**ar** )

;int

*ptr = a;

int option_a = false;

int option_d = false;

while(*

++ar** !=

null&&*

*ar** ==

'-')}if

( option_a )

else

if( option_d )

while

( ptr <

&a[size]

)return0;

}void

sort_ascending

(int

*array,

int n )

void

sort_deascending

(int

*array,

int n )

執行結果

C 命令列引數

我們一般把main函式寫做 int main 但main函式是有引數的 include using namespace std intmain int argc,char ar argc表示命令行編譯執行時,輸入的字串個數,ar 是乙個指標的指標,或者說是乙個字串陣列。c cx g argc.cpp...

命令列引數

c 程式設計師參考 main方法可以使用引數,在這種情況下它採用下列形式之一 static int main string args static void main string args main方法的引數是表示命令行引數的string陣列。通常通過測試length屬性來檢查引數是否存在,例如 ...

命令列引數

c程式中的mian具有兩個形參。int main int argc,char argv argc 命令列引數的數目 argv 指向一組引數值的第乙個元素 每個元素都是指向乙個引數文字的指標 指標陣列 每個元素都是乙個字元指標,陣列末尾是乙個null指標,argc的值和這個null都用於確定實際傳遞了...