main 是如何知道有几个传入参数的

我们知道:cstdarg中的va_list,va_start,va_arg,va_end在定义中 va_start,va_arg,va_end三个宏 是不知道 参数的个数的。哪怕是scanf printf 也都是通过格式化字符串 来变相知道参数个数的。那么 main呢,

main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。
argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数。数组元素初值由系统自动赋予。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-29
int main(int argc, char* argv[])
其中argc就是传入命令行参数的个数
argv是具体的参数数组本回答被提问者采纳
第2个回答  2011-12-29
需要注意的是,main方法的参数是一数组,如果需要多个参数,则参数之间用空格隔开,在main方法中通过数组下标的方式访问任意参数。 我java学的不好,
相似回答
大家正在搜