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

    argc 命令行参数的个数

    argv 指向参数的各个指针构成的数组
    argv[0]指向程序运行的全路径名
    argv[1]指向在DOS命令行中执行程序名后的第一个字符串
    argv[2]指向执行程序名后的第二个字符串
    argv[3]指向执行程序名后的第三个字符串
    argv[argc]为NULL

    argc是包括程序本身在内的参数个数,比如说你是test.exe直接运行,那argc就是1(argv[0]此时就是含路径在内的程序名),或者你也把argc理解为argv数组的长度。
    if(argc != 2) 就是说包括程序名和参数一起不为2,这有两种可能,一个是参数小于2(即没有命令行参数,比如test.exe,此时argc为1),一个是参数大于2,比如test.exe abc def(此时argc为3)
    如果真要确定没有命令行参数,应该为
    if(argc==1)或者if(argc<2)