next up previous contents
Next: 錯誤處理 Up: main 函式 Previous: 前言   Contents

命令列參數

  1. 目的:在下命令時,傳送參數到要執行的程式裡。
  2. 變數 argc 表示傳送參數的個數,變數 argv[] 是一個指標陣列,指到傳送的參數。
  3. 範例一:從命令輸入一串整數,計算總和並輸出。argv[0] 是執行程式名稱,在此例 argv[0]./mainfun1
    [dywang@dyw219 zzz]$ vim mainfun1.c
    [dywang@dyw219 zzz]$ cat mainfun1.c
    #include <stdio.h>
    
    main( int argc, char *argv[] ) {
    	int i, sum=0;
    
    	for ( i=1; i<argc-1; i++) {
    		printf("%s+", argv[i]);
    		sum += atoi(argv[i]);
    	}
    	sum += atoi(argv[i]);
    	printf("%s=%d\n", argv[i], sum);
    }
    
  4. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o mainfun1 mainfun1.c
    
  5. 執行結果:命令列輸入不同個數的整數,都可計算其總和。
    [dywang@dyw219 zzz]$ ./mainfun1 9 4 2 4
    9+4+2+4=19
    [dywang@dyw219 zzz]$ ./mainfun1 19 14 12 14
    19+14+12+14=59
    [dywang@dyw219 zzz]$ ./mainfun1 9 4 2 4 9 23
    9+4+2+4+9+23=51
    



De-Yu Wang 2019-09-19