C语言 请详细讲解一下这道题,谢谢
有以下程序: main(int argc,char*argv[]) { int n,i=0; while(argv[1][i]!=‘\0’) { n=fun();i++;} printf("%d\n",n* argc); } int fun() { static int s=0; s+=1; return s; } 假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令行exam 123<回车>则运行结果为多少?
运行结果是 6 你的程序中有中文引号,我改了一下,并介绍一下程序流程 int fun(); //这个地方要有个函数声明 main(int argc,char*argv[]) { int n,i=0; //定义n、i,初始化i while(argv[1][i]!='\0') //以字符串数组argv的第二个字符 //串的字符作测试条件 { n=fun();i++;} printf("%d\n",n* argc);//输出n雨argc的乘机 } int fun() { static int s=0;//s被定义成静态的,因此每次调用fun,s的值 //总是会在上次的值的基础上加1 s+=1; return s; } //简单说一下,c对命令行参数的处理方法: int argc指的是命令行参数的个数 int argv指的是输入的命令行参数所形成的字符串数组,有趣的是argv[0]中总是存放程序的名字,在你的这个程序中argv[0]就是字符串"exam"。
在argv[1]中存放的才是"123"。 由此可见,argc等于2,而n最后等于3,所以最后它们的乘积是 6 。
答:1.设计图书信息结构体 图书 { 登陆号 书名 作者名 分类号 出版单位 出版时间 价格 } 2.编写信息录入函数,其功能为将新增加的图书添加至图书信息结构体数...详情>>
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>