发布网友 发布时间:2022-04-18 07:27
共2个回答
热心网友 时间:2022-04-18 08:57
void main(int argc, char *argv[])这句话中括号中的int argc,char *argv[]是可以省略的,这是就是命令行参数,argc的值就是你命令行参数的项数,你是windows环境么?windows下编译好一个程序是直接双击运行,但是你找到文件目录,可以从控制台输入文件名执行的,那么你输入在控制台的内容就叫做命令行参数,包括文件名和后面的内容,以空格隔开,比如你这个程序叫2-5.那么当你在控制台输入2-5的时候,argc就为1,当你输入2-5 file1的时候,argc就为2,现在知道为什么argc为4了吧。至于argv[],这是一个字符串数组,因为argc为4,所以定义了一个字符串数组为argv[4],有四个元素,分别为argv[0],argv[1],argv[2],argv[3],p = argv[1]。就是file1啦,puts(p+1),地址向右偏移一位,所以前面的f就不见啦热心网友 时间:2022-04-18 10:15
所谓的命令行参数就是传递给main函数的参数一般都是固定形式 main(int argc,char *argv[ ])