main函式帶命令列引數的使用

2021-10-17 11:14:11 字數 1668 閱讀 6659

生成.exe檔案後,可直接拖入到命令列,直接開啟

#include

#include

#include

floatf(

int i,

int j,

char s)

;int

main

(int argc,

char

*y)//argc是開啟命令提示符,統計從鍵盤中輸入的個數,這樣定義的y不是一維陣列

int i, j,n;

i =atoi

(y[1])

;//atoi (表示 ascii to integer)是把字串轉換成整型的乙個函式

j =atoi

(y[3])

;char s[

100]=;

strcpy_s

(s,1

, y[2]

);n =

f(i,j,

*s);

printf

("%d %c %d =%d\n"

, i, j, s, n)

;return0;

}floatf(

int i,

int j,

char s)

return n;

}

main函式命令列引數的使用:

乙個程式的main()函式由兩部分組成,第乙個引數是int型,通常情況下將該引數命名為argc(不可改動,表示字串的數量:argc=1+使用者輸入的字串數目);第二個是字串陣列,該引數的命名可更換。

int argc:表示字串的數量

argc=1+使用者輸入的字串數目,作業系統負責計算數量。例如:使用者輸入了2個字串,則argc=1+2=3;

char* ar**:字串的陣列,即多個字串,使用者輸入的一系列字串,字串之間以空格間隔,形式為:

字串1 字串2 字串3

最終作業系統陣列為: ar**[0]=可執行檔名稱,例如test.exe(非使用者輸入,作業系統根據可執行檔名稱自動生成)

ar**[1]= 字串1 ar**[2]=字串2 ar**[3]=字串3

詳情請看:

int main(int argc,char ar**)*

由於[ ] 的優先順序高於* 所以a先和 [ ]結合,他還是乙個陣列,陣列中的元素才是char * ,前面講到char * 是乙個變數,儲存的位址。

所以 char *a[ ] = ;

陣列中的元素是字串,那麼sizeof(a) 是多少呢?但是其實sizeof(a) = 16; 字串常量的本質是位址,a 陣列中的元素為char * 指標,指標變數佔四個位元組,那麼四個元素就是16個位元組了

參考:一些自動轉化的函式

atof()     將字串轉換為雙精度浮點型值

atoi()     將字串轉換為整型值

atol()     將字串轉換為長整型值

strtod()   將字串轉換為雙精度浮點型值,並報告不能被轉換的所有剩餘數字

strtol()   將字串轉換為長整值,並報告不能被轉換的所有剩餘數字

strtoul()  將字串轉換為無符號長整型值,並報告不能被轉換的所有剩餘數字

帶命令列引數的 main 函式詳解

c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...

帶命令列引數的 main 函式詳解

c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...

main函式命令列引數的使用

乙個程式的main 函式的可以包括兩個引數 通常情況下,將第乙個引數命名為argc,第二個引數為argv 當然引數名字可以換 由於字串陣列有兩種表達方式,因此,main函式存在兩種書寫方法 形式一 int main int argc,char argv 這裡使用char argv 2。形式二 int...