通过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;
}
其结果为: