在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ C 命令行參數(shù)
C 輸入 & 輸出
C 標(biāo)準(zhǔn)庫 - < signal.h >
C 標(biāo)準(zhǔn)庫- < string.h >
C 循環(huán)
C 數(shù)據(jù)類型
C 字符串
C 標(biāo)準(zhǔn)庫 - < stdarg.h >
C 標(biāo)準(zhǔn)庫 - < math.h >
C 預(yù)處理器
C 存儲(chǔ)類
C 標(biāo)準(zhǔn)庫 - < locale.h >
C 指針
C 標(biāo)準(zhǔn)庫 - < assert.h >
C 結(jié)構(gòu)體
C 命令行參數(shù)
C 標(biāo)準(zhǔn)庫 - < ctype.h >
C 強(qiáng)制類型轉(zhuǎn)換
C 程序結(jié)構(gòu)
C typedef
C 遞歸
C 運(yùn)算符
C 環(huán)境設(shè)置
C 函數(shù)
C 位域
C 標(biāo)準(zhǔn)庫 - < stddef.h >
C 數(shù)組
C 標(biāo)準(zhǔn)庫 - < errno.h >
C 標(biāo)準(zhǔn)庫 -參考手冊(cè)
C 可變參數(shù)
C 變量
C 錯(cuò)誤處理
C 作用域規(guī)則
C 文件讀寫
C 內(nèi)存管理
C 基本語法
C 標(biāo)準(zhǔn)庫 - < stdio.h >
C 標(biāo)準(zhǔn)庫 - < time.h >
C 頭文件
C 判斷
C 標(biāo)準(zhǔn)庫 - < limits.h >
C 共用體
C 標(biāo)準(zhǔn)庫 - < setjmp.h >
C 常量
C 標(biāo)準(zhǔn)庫 - < float.h >
C 簡(jiǎn)介
C 標(biāo)準(zhǔn)庫 - < stdlib.h >

C 命令行參數(shù)

執(zhí)行程序時(shí),可以從命令行傳值給 C 程序。這些值被稱為命令行參數(shù),它們對(duì)程序很重要,特別是當(dāng)您想從外部控制程序,而不是在代碼內(nèi)對(duì)這些值進(jìn)行硬編碼時(shí),就顯得尤為重要了。

命令行參數(shù)是使用 main() 函數(shù)參數(shù)來處理的,其中,argc 是指?jìng)魅雲(yún)?shù)的個(gè)數(shù),argv[] 是一個(gè)指針數(shù)組,指向傳遞給程序的每個(gè)參數(shù)。下面是一個(gè)簡(jiǎn)單的實(shí)例,檢查命令行是否有提供參數(shù),并根據(jù)參數(shù)執(zhí)行相應(yīng)的動(dòng)作:

include

int main( int argc, char *argv[] )  
{
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

使用一個(gè)參數(shù),編譯并執(zhí)行上面的代碼,它會(huì)產(chǎn)生下列結(jié)果:

$./a.out testing
The argument supplied is testing 

使用兩個(gè)參數(shù),編譯并執(zhí)行上面的代碼,它會(huì)產(chǎn)生下列結(jié)果:

$./a.out testing1 testing2
Too many arguments supplied.

不傳任何參數(shù),編譯并執(zhí)行上面的代碼,它會(huì)產(chǎn)生下列結(jié)果:

$./a.out
One argument expected

應(yīng)當(dāng)指出的是,argv[0] 存儲(chǔ)程序的名稱,argv[1] 是一個(gè)指向第一個(gè)命令行參數(shù)的指針,*argv[n] 是最后一個(gè)參數(shù)。如果沒有提供任何參數(shù),argc 將為 1,否則,如果傳遞了一個(gè)參數(shù),argc 將被設(shè)置為 2。

多個(gè)命令行參數(shù)之間用空格分隔,但是如果參數(shù)本身帶有空格,那么傳遞參數(shù)的時(shí)候應(yīng)把參數(shù)放置在雙引號(hào) "" 或單引號(hào) '' 內(nèi)部。讓我們重新編寫上面的實(shí)例,有一個(gè)空間,那么你可以通過這樣的觀點(diǎn),把它們放在雙引號(hào)或單引號(hào)""""。讓我們重新編寫上面的實(shí)例,向程序傳遞一個(gè)放置在雙引號(hào)內(nèi)部的命令行參數(shù):

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   printf("Program name %s\n", argv[0]);

   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

使用一個(gè)用空格分隔的簡(jiǎn)單參數(shù),參數(shù)括在雙引號(hào)中,編譯并執(zhí)行上面的代碼,它會(huì)產(chǎn)生下列結(jié)果:

$./a.out "testing1 testing2"

Progranm name ./a.out
The argument supplied is testing1 testing2