前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【编程基础第九讲】main函数也有参数?

【编程基础第九讲】main函数也有参数?

作者头像
程序员互动联盟
发布2018-03-15 13:51:39
8060
发布2018-03-15 13:51:39
举报
存在问题:

main函数我们使用的多关注的少,特别是参数,如何去用?

解决方案:

有C语言初学者朋友不知道怎么应用main函数的参数,其实也不难,只要对C语言的数组指针有了解,再加上一点讲解就知道了。

标准的main函数声明有如下两种方式:

int main(void); int main(int argc, char *argv[]);或者int main(int argc, char **argv);

后面两种本质上是一样,这两种其实就可以带参数了,其中第一个参数argc就表示main函数参数的个数,后面的第二个参数argv是一个字符串的数组,表示每一个具体的参数了,它是字符串形式。其中argv[0]表示这个应用程序的名字,argv[1]表示实际的第一个参数,argv[2]表示实际的第二个参数,后面依次类推,请看下面实例代码:

#include <stdio.h> #include <stdlib.h>

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

printf("argc = %d\n", argc); for (i=0; i<argc; i++) { printf("argv[%d] = %s\n", i, argv[i]); }

system("pause"); return 0; }

我们运行一下,看看结果:

输入参数的时候需要注意:参数之间以空格(多个空格)或者TAB键分隔,参数内部不能用这两个,否则会被认为两个参数。所有的参数在main函数内部都是字符串,这里例子虽然我输入了1234,但仍是以字符串形式存在,要是我们想把它当做数值怎么办?那就将它转换成数值即可,比如:

int num = atoi(argv[2]);

可以看出,第一个参数就是这个程序自己的名字。 那么main函数参数有什么用?当然有了,尤其是控制台下面的程序,比如我们要复制一个文件,是不是在命令行下使用:

cp file1 file2

其实这里就是调用了一个名字为cp的系统自带的应用程序,后面的file1和file2就是它的参数,同样如果你要编写的函数需要这种类似让用户输入参数,就用上它了。

指导意见:

很多初学者都忽略了,main函数参数的问题,其实在编码的生活中用的还是很多,举个简单的例子。验证java版本经常输入

java -version 其实-version就是java这个可执行程序的参数,感兴趣的可以继续研究main函数的参数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档