要么改变世界,要么适应世界

C语言向main函数传递参数

2020-04-02 11:40:00
113
目录

我们一般写C语言的代码的时候,main函数是不带形参的,如

/*
 * @Description: 
 * @Author: Yale_Xin
 * @Date: 2020-04-02 11:16:47
 * @LastEditTime: 2020-04-02 12:44:54
 * @LastEditors: Yale_Xin
 */
#include<stdio.h>
int main(){
    printf("hello world");
    return 0;
}

但是其实我们是可以向main函数传递参数的,只不过此时我们需要在命令行中进行编译运行,例如

/*
 * @Description:
 * @Author: Yale_Xin
 * @Date: 2020-04-02 11:16:47
 * @LastEditTime: 2020-04-02 12:52:16
 * @LastEditors: Yale_Xin
 */
#include <stdio.h>
int main(int arc, char* input[]) {
    printf("您输入了%d个参数,分别是:\n", arc);
    for (int i = 0; i <= arc; i++) {
        printf("%s\n", input[i]);
    }
    return 0;
}

在命令行中,进入到程序所在的文件夹下,输入编译命令:

gcc -o test test.c

运行:

./test 参数一 参数二 参数三

输出的结果如下:

您输入了4个参数,分别是:
D:\my_c_workspace\some_test\test.exe
参数一
参数二
参数三

可以发现第一个参数实际上是命令本身(虽然说它的下标是0)!

我们可以借助上面的方法给main函数进行传递参数,接着进行类型转换就可以得到我们想要的数据类型。

历史评论
开始评论