首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

main 函數參數(一):命令列參數 argc、argv 與圖形程式範例

     編輯:C 語言基礎

main 函數的帶參形式

main() 是程式入口,可為無參或有參。帶參形式:


int main(int argc, char *argv[]) {
    // argc: 參數個數(含程式名)
    // argv: 指標陣列,各元素指向一個命令列字符串
}

命令列與 main 參數對應

系統啟動程式時,將命令列解析傳給 main:

命令列:  program str1 str2 str3 str4 str5
          │      │     │     │     │     │
          ▼      ▼     ▼     ▼     ▼     ▼
argv[0]  argv[1] argv[2] argv[3] argv[4] argv[5]
argc = 6
  • argv[0]:程式名(可執行檔名稱)
  • argv[1]~argv[argc-1]:使用者提供的參數
  • 所有參數以字符串形式傳遞,需自行轉型(如 atoi、atof)

範例:繪製變化圓環(命令列傳入半徑與顏色)


#include <graphics.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>

#define PI 3.1415926

int main(int argc, char *argv[]) {
    int x, y, r1, rs, color;
    double a;
    int gdriver = DETECT, gmode;
    
    if (argc < 4) {
        printf("用法: %s r1 rs color\n", argv[0]);
        return 1;
    }
    
    initgraph(&gdriver, &gmode, "..\\bgi");
    r1 = atoi(argv[1]);      // 基礎圓半徑
    rs = atoi(argv[2]);      // 同心圓半徑
    color = atoi(argv[3]);   // 背景色
    
    cleardevice();
    setbkcolor(color);
    setcolor(4);
    
    for (a = 0; a <= 2*PI; a += PI/18) {
        x = r1 * cos(a) + 320;
        y = r1 * sin(a) + 240;
        circle(x, y, rs);
    }
    
    getch();
    closegraph();
    return 0;
}

執行方式

編譯連結生成 L6-29.exe
命令列執行:  L6-29 40 20 3
對應: argv[1]="40", argv[2]="20", argv[3]="3"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved