你瞭解argc和argv嗎(以及在devc++中如何命令列傳參)

hisun9發表於2024-10-12

解釋

argc和argv是C和C++程式中的引數,用於處理命令列輸入。它們通常在main函式中使用,格式如下:

int main(int argc, char *argv[]) {
    // 程式程式碼
}
  • argc(Argument Count,引數計數):

    一個整數,表示命令列引數的數量,包括程式名稱本身。即使沒有其他引數,argc的值至少為1。

  • argv(Argument Vector,引數向量):

    一個字串陣列,包含所有的命令列引數。argv[0]通常是程式的名稱,argv[1]到argv[argc-1]是實際傳入的引數。

示例

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Argument count: %d\n", argc);
    for (int i = 0; i < argc; i++) {
        printf("Argument %d: %s\n", i, argv[i]);
    }
    return 0;
}
  • 若在DevC++中直接點選編譯執行,如圖:
    img

    點選後直接跳出如下內容:
    img

  • 上面的操作不太對,沒有使用命令列引數。

    在DevC++中,我們可以在執行程式時新增命令列引數。

    具體操作步驟為:
    先點選執行,然後在彈出的視窗中點選執行,再點選執行引數,如圖:
    img

    然後在彈出的視窗中輸入引數,如圖:
    img

    點選確定後,再編譯執行,程式會輸出如下內容:
    img

    從輸出結果,我們可以看到是引數以空格分隔的。

相關文章