选择题一条

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:14:34
7.C语言中main函数参数的非法表示形式是()

A)main(char *argv〔〕,int argc)

B)main(int a,char**b)

C)main(int y,char *x〔〕)

D)main(int argv,char *argc〔〕)
为什么是A?

main函数带参数的话必须按argc, argv的顺序, 如以下的例子:
main()
main(int argc)
main(int argc, char *argv[])
以上三种都是合法的。

当然这里的argc和argv只是参数名,可以用其他参数名代替,但其类型却必须一致

即两个参数中第一个必须是int型第二个必须是字符串指针

我认为比较精确的解释是:
标准C中定义的关于C语言入口main函数的几种中形式
int main(void); // 1
int main(int argc, char * argv[]); // 2
int main(int argc, char * argv[], char * env[]) // 3

定义这些标准形式是为了连接器能找到程序其入口,
第一个形式主要用在没有要想为命令行传递参数的情况
第二个形式主要用在有需要向命令行传递调用程序的参数的情况
第三个行书包括第二个的功能,并且被调用程序继承了当前的环境变量,env就是一个指向当前系统所用环境的指针
具体可以参考一些资料详细了解下
其中参数名称 argc, argv, env这些并不是一种硬性的规定,而是多年来程序员们的一种心照不宣的约定一般, 看到名字就能知道这个参数是干什么什么用的.

VC++工具已经定义好了 第一个参数表示参数的个数 第二个指针数组用来存储表示参数的字符串 主要用在Linux开发环境或者是用命令提示符格式运行程序 如运行qq.exe -c -file 那么参数个数为3 1.qq.exe 2.-c 3. -file
后面的参数也可以用来传给main里面的函数 用数组来表示就是 argc[0]="qq.exe" argc[1]="-c" ...
另一个例子如 add.exe 1 2 这个就你就可以编出一个加法运算的程序把 1 2 当成参数 让他运行结果为3