第1个回答 2017-01-14
定义主函数
int main(int argc, int **argv)
这样的形式的时候
argv不可能等于NULL
至少有一个运行的程序名。
至于最后一个argv为NULL ,只是部分平台有这个功能
有些是没有的
大多数情况下, 还是要用argc来判断个数。
除此外, 很多程序, 会根据参数的个数实现不同功能, 直接用argc来判断, 比循环遍历argv确定参数总个数要方便的多。
第2个回答 2013-08-08
main 常见的3种形式
void main(void) //这个不标准 VC支持 GCC不支持
int main(void) // 不带输入参数的main形式
int main(int argc, char* argv[]) // 带参数的main形式
argc 是输入参数的个数 argv 是一个字符串数组 代表输入的参数
比如 aa.exe
执行 aa -p -q 那么 argc为3 表示 argv有3个字符串
argv[0] // 是aa.exe的路径
argv[1] //"-p"
argv[2] // "-q"
第3个回答 2013-08-08
两种标准形式之一,其实形参是void也可以,甚至在C++中不写也可(不写等同于void,但是C中不等同)
其实argc和argv的名字可以任意,而且argv也可以写成char** argv的形式,因为实质上都是相同的。
第4个回答 2013-08-08
没有为什么,这是规则,你必须遵守.
就像去ATM取钱要插卡一样,你须插卡输入密码才给钱.
游戏规则定好了,大家都要遵守.
第5个回答 2013-08-08
这个参数可以不要,但最好加上,linux中支持不加,但是在VC中要有返回值才行,比如int main()