VC++中的int main(int argc, char argv[])是什么意思
这是C/C++的一重要函数,叫主函数。无论程序多复杂,代码中必须有这么一个函数,也只能有一个这样的函数;程序执行时就是从这个函数进入的。由于问得比较笼统,如果你想知道详细情况的话,发给你一个网友的求助与本人的回答,自己看吧……
假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的提示符下键入: PROG ABCDEFGH IJKL<回车>则输出结果为:
main(int argc,char *argv[])
{while(--argc>0)
printf("%s",argv[argc]);
printf("\n");}
各句程序什么意思?
输出结果是什么?
请帮忙解决,谢谢
回答求助:
这段代码不长,但要说清楚你的要求还需要比较长的一段话。首先,说一下main(int argc,char *argv[])函数的两个形参,第一个int argc,是记录你输入在命令行(你题目中说的操作就是命令行输入)上的字符串个数;第二个*argv[]是个指针数组,存放输入在命令行上的命令(字符串)。当命令行输入PROG ABCDEFGH IJKL时,记录了3个字符串(以间隔为界,不含间隔,这是约定),*argv[0]中放的是"PROG",*argv[1]中放的是"ABCDEFGH",*argv[2]中放的是"IJKL",这样argc就是3了。while(--argc>0)是条件循环,argc>0时继续;argc初值是3,前置--先减1为2,所以后面的输出语句打出*argv[2]中的内容IJKL;再执行while(--argc>0),argc再减1为1,打出*argv[1]中的内容ABCDEFGH;再循环,argc减1为0,条件破坏,不再执行while(--argc>0)的循环体。所以最后显示的是IJKLABCDEFGH。不知给你说清楚了没有?希望有帮助。
最新文章
- OpenGL ES 中的模板测试
- 定时器图片轮播淡入淡出基本功能已实现,正在修改BUG中。。(附图效果和源代码)
- thymeleaf 中文乱码问题
- JS初学之-if else图片顺序及循环切换
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
- Java基础知识强化之集合框架笔记17:List集合的特有的遍历功能
- 马云专访二:点评阿里雅虎交易、BAT三家、互联网巨头与政府关系
- ssh端口映射,本地转发
- [Swust OJ 589]--吃西瓜(三维矩阵压缩)
- grep命令参数和使用方法
- 升级到tomcat8时Artifact SpringMvcDemo:war exploded: Server is not connected. Deploy is not
- php+sqlite 最佳web服务器
- 使用js做创建图片及删除图片 若有什么不对或不完整的地方,请大家提出来,谢谢
- FusionCharts ScrollColumn2D图
- nginx系列12:一致性哈希算法
- kbmmw 5.08 正式发布
- Kaldi的data目录解析
- itexpdf同一个段落不同文字,如何设置不同的格式
- 各种浏览器下的页面元素xpath获取方法
- VC2012+QT新建一个控制台程序