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

鍍金池/ 教程/ C/ C語(yǔ)言命令行參數(shù)
C語(yǔ)言printf()和scanf()函數(shù)
C語(yǔ)言strlen()函數(shù)
C語(yǔ)言指針
C語(yǔ)言ftell()函數(shù)
C語(yǔ)言#ifdef指令
C語(yǔ)言程序執(zhí)行流程
C語(yǔ)言歷史
C語(yǔ)言fprintf()和fscanf()函數(shù)
C語(yǔ)言#define指令
C語(yǔ)言#if指令
C語(yǔ)言將數(shù)組傳遞給函數(shù)
C語(yǔ)言指針的指針
C語(yǔ)言rewind()函數(shù)
C語(yǔ)言常量
C語(yǔ)言strcat()函數(shù)
C語(yǔ)言#ifndef指令
C語(yǔ)言continue語(yǔ)句
C語(yǔ)言注釋
C語(yǔ)言#include指令
C語(yǔ)言類型轉(zhuǎn)換
C語(yǔ)言strcpy()函數(shù)
C語(yǔ)言strlwr()函數(shù)
C語(yǔ)言while循環(huán)
C語(yǔ)言字符串
C語(yǔ)言strrev()函數(shù)
C語(yǔ)言gets()和puts()函數(shù)
C語(yǔ)言文件處理
C語(yǔ)言存儲(chǔ)分類
C語(yǔ)言運(yùn)算符
C語(yǔ)言數(shù)據(jù)類型
C語(yǔ)言strcmp()函數(shù)
C語(yǔ)言VS開發(fā)環(huán)境安裝
C語(yǔ)言轉(zhuǎn)義序列
C語(yǔ)言第一個(gè)程序
C語(yǔ)言變量
C語(yǔ)言goto語(yǔ)句
C語(yǔ)言預(yù)處理器指令
C語(yǔ)言指針?biāo)阈g(shù)運(yùn)算
C語(yǔ)言數(shù)學(xué)函數(shù)
C語(yǔ)言二維數(shù)組
C語(yǔ)言for循環(huán)
C語(yǔ)言命令行參數(shù)
C語(yǔ)言通過(guò)值和引用函數(shù)
C語(yǔ)言fputs()和fgets()函數(shù)
C語(yǔ)言do-while循環(huán)
C語(yǔ)言結(jié)構(gòu)體數(shù)組
C語(yǔ)言循環(huán)
C語(yǔ)言#pragma指令
C語(yǔ)言關(guān)鍵字
C語(yǔ)言#error指令
C語(yǔ)言聯(lián)合體
C語(yǔ)言特點(diǎn)
C語(yǔ)言break語(yǔ)句
C語(yǔ)言遞歸
C語(yǔ)言函數(shù)
C語(yǔ)言結(jié)構(gòu)體
C語(yǔ)言switch語(yǔ)句
C語(yǔ)言結(jié)構(gòu)體嵌套
C語(yǔ)言fputc()和fgetc()函數(shù)
C語(yǔ)言fseek()函數(shù)
C語(yǔ)言字符串函數(shù)
C語(yǔ)言if-else語(yǔ)句
C語(yǔ)言教程
C語(yǔ)言宏
C語(yǔ)言數(shù)組
C語(yǔ)言strupr()函數(shù)
C語(yǔ)言#undef指令

C語(yǔ)言命令行參數(shù)

從命令行傳遞的參數(shù)稱為命令行參數(shù)。這些參數(shù)由main()函數(shù)來(lái)處理的。

要支持命令行參數(shù),您需要更改main()函數(shù)的結(jié)構(gòu),如下所示 -

int main(int argc, char *argv[] )

在這里,argc計(jì)算參數(shù)的數(shù)量。它將文件名稱作為第一個(gè)參數(shù)。

argv []包含參數(shù)的總數(shù)。第一個(gè)參數(shù)永遠(yuǎn)是此程序的文件名。

命令行參數(shù)實(shí)例

我們來(lái)看一下命令行參數(shù)的例子,用文件名傳遞一個(gè)參數(shù)。創(chuàng)建一個(gè)源文件:main-commandline.c,其代碼如下所示 -

#include <stdio.h>  
void main(int argc, char *argv[] )  {  
   printf("Program name is: %s\n", argv[0]);  
   if(argc < 2){  
      printf("No argument passed through command line.\n");  
   }
   else{  
      printf("First argument is: %s\n", argv[1]);  
   }
}

在Linux上執(zhí)行上面示例代碼,得到以下結(jié)果 -

root@AYZ:~#  gcc main-commandline.c
root@AYZ:~#  ./a.out argc_value
Program name is: ./a.out
First argument is: argc_value

在Windows中從命令行運(yùn)行以下程序:

F:\>cd worksp\clanguage\command-line-arguments\Debug

F:\worksp\clanguage\command-line-arguments\Debug>dir
 驅(qū)動(dòng)器 F 中的卷是 Others
 卷的序列號(hào)是 0007-6F29

 F:\worksp\clanguage\command-line-arguments\Debug 的目錄

2017/08/18  01:23    <DIR>          .
2017/08/18  01:23    <DIR>          ..
2017/08/18  01:23            37,376 command-line-arguments.exe
2017/08/18  01:23           291,652 command-line-arguments.ilk
2017/08/18  01:23           552,960 command-line-arguments.pdb
               3 個(gè)文件        881,988 字節(jié)
               2 個(gè)目錄 53,178,052,608 可用字節(jié)

F:\worksp\clanguage\command-line-arguments\Debug>command-line-arguments.exe test-arg
Program name is: command-line-arguments.exe
First argument is: test-arg

F:\worksp\clanguage\command-line-arguments\Debug>

如果傳遞很多參數(shù),它只會(huì)打印一個(gè),如下:

root@AYZ:~# ./a.out hello I am Maxsu
Program name is: ./a.out
First argument is: hello

但是,如果您在雙引號(hào)內(nèi)傳遞許多參數(shù),則所有參數(shù)將被視為單個(gè)參數(shù)。如下 -

root@AYZ:~# ./a.out "hello I am Maxsu"
Program name is: ./a.out
First argument is: hello I am Maxsu

您可以編寫程序來(lái)打印所有參數(shù)。在這個(gè)程序中,我們只打印argv [1],這就是為什么只打印一個(gè)參數(shù)的原因了,您可以根據(jù)需要使用或打印argv [2],argv [3],argv [4]....等等。