C main方法接收命令行参数/多个字符串参数的写法

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

字符串数组如何作为方法参数传递、如何遍历

在这里插入图片描述可以看到main方法与该方法的参数类型列表实际是一致的。

//  Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>

// 遍历字符串数组
void traverseStringArray(int length, char* arr[]) {
    printf("字符串数组长度%d\n", length);
    for (int i = 0; i < length; i++) {
        printf("arr[%d] = %s\n", i, arr[i]);
    }
}

int main(int argc, const char * argv[]) {
    char* stringArr[] = {"Hello", "World", "你好", "世界"};
    int lengthOfStringArr = sizeof(stringArr) / sizeof(stringArr[0]);
    traverseStringArray(lengthOfStringArr, stringArr);
    return 0;
}

C语言 main方法接收命令行参数并打印参数列表(数组)

写法

//  Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>

/// 主方法(程序入口)
/// - Parameters:
///   - argc: 命令行参数的个数(第一个一定是运行的程序文件全路径字符串)
///   - argv: 运行程序的命令字符串列表
int main(int argc, const char * argv[]) {
    printf("命令行参数个数%d\n", argc);
    for (int i = 0; i < argc; i++) {
        printf("第 %d 个参数%s\n", i, argv[i]);
    }
    return 0;
}

在 macOS 中在 Xcode 中直接运行该程序

命令行参数个数10 个参数/Users/wuyujin1997/Library/Developer/Xcode/DerivedData/helloc-20230129-bxesqdamdqgrtedzloktwhxhuhvh/Build/Products/Debug/CSDN-copy

这里第0个参数的值就是Xcode实际编译好的程序路径。
在这里插入图片描述

通过 Terminal 编译 & 运行程序并传递命令行参数

cc main.c -o main && ./main aa "bb" "wuyujin 1997" "age=25"

在这里插入图片描述注意如果某个参数中含有空格可以用引号将该完整的参数包围起来。双引号/单引号/反引号皆可。"" '' 反引号与~在同一键位。

wuyujin1997@mac11 CSDN-copy % ls
main.c
wuyujin1997@mac11 CSDN-copy % cc main.c -o main
wuyujin1997@mac11 CSDN-copy % ls
main	main.c
wuyujin1997@mac11 CSDN-copy % ./main aa "bb" "wuyujin 1997" "age=25"
命令行参数个数50 个参数./main
第 1 个参数aa
第 2 个参数bb
第 3 个参数wuyujin 19974 个参数age=25
wuyujin1997@mac11 CSDN-copy % more main.c 

//  Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>

/// 主方法(程序入口)
/// - Parameters:
///   - argc: 命令行参数的个数(第一个一定是运行的程序文件全路径字符串)
///   - argv: 运行程序的命令字符串列表
int main(int argc, const char * argv[]) {
    printf("命令行参数个数%d\n", argc);
    for (int i = 0; i < argc; i++) {
        printf("第 %d 个参数%s\n", i, argv[i]);
    }
    return 0;
}
wuyujin1997@mac11 CSDN-copy % 

Xcode 中运行C程序指定命令行参数

这个和 eclipse、 IDEA 在相关需求下的操作几乎相同UI界面按钮位置方面
在这里插入图片描述
在这里插入图片描述注意如果某个参数中含有空格应该用引号将该完整的参数扩起来。

这时在 Xcode 中重新运行该程序

命令行参数个数40 个参数/Users/wuyujin1997/Library/Developer/Xcode/DerivedData/helloc-20230129-bxesqdamdqgrtedzloktwhxhuhvh/Build/Products/Debug/CSDN-copy
第 1 个参数age=252 个参数name=wu yu jin
第 3 个参数HelloWorld
Program ended with exit code: 0

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6