6.3 命令行参数

通过main函数的参数接受命令行信息

        int main(int argc, char *argv[]){}

        明确:只要在命令行终端输入的任何信息,操作系统都会把它当成字符串来处理

        argc:记录命令行终端输入的信息个数

        argv[]:指针数组记录字符串,记录命令行终端输入的信息对应的字符串首地址

        给一个字符串数字,如何转为整型: atoi() ,其头文件

//明确:只要在命令行终端输入的任何信息,操作系统都会把它当成字符串来处理
//例如:./helloworld 100 200->得到三个字符串:"./helloworld", "100", "200"
//main函数完整版写法
#include <stdio.h>
#include <stdlib.h>//声明atoi函数
int main(int argc, char *argv[]) {
    //argc:记录命令行终端输入的信息个数
    //例如:./helloworld,操作系统自动将argc赋值为1,表示输入的信息个数是1个
    //./helloworld 100 200,操作系统自动将argc赋值为3,表示输入的信息个数是3个
    //argv:记录命令行终端输入的信息对应的字符串首地址
    //例如:./helloworld,操作系统自动将"./helloworld"首地址保存到argv[0]中
    //例如:./helloworld 100 200,操作系统自动将"./helloworld"首地址保存到argv[0]中
    //将"100"首地址保存到argv[1]中,将"200"首地址保存到argv[2]中
    for(int i = 0; i < argc; i++)
        printf("argc = %d, argv[%d] = %s\n", argc, i, argv[i]);
    //argc和argv编程规范:如果程序要使用argc和argv,访问argv之前先对argc的个数做安全检查
    if(argc != 3) {
        printf("用法:%s 数字1 数字2\n", argv[0]);
        printf("例如:%s 100 200\n", argv[0]);
        return -1;
    }
    int a, b;
    //atoi标准库函数功能:将字符串形式的整形数转成对应的整形数"100"->100
    a = atoi(argv[1]); //"100"->100
    b = atoi(argv[2]); //"200"->200
    printf("a + b = %d\n", a + b);
    return 0;
}

其结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值