我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 求达人解释一个C程序 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

不经意间



性别: 帅哥 状态: 该用户目前不在线
头衔: 多事之秋-2008
等级: 荣誉会员
家族: 考研俱乐部
发贴: 3006
威望: 3
浮云: 1434
在线等级:
注册时间: 2007-01-03
最后登陆: 2009-04-25

5come5帮你背单词 [ wide /waid/ a. 宽阔的,广泛的;ad. 全部地,充分地 ]


求达人解释一个C程序

红色的语句都是什么意思啊?
看谭浩强的C那本书里好像没有啊?
Quote:

#include <stdio.h>
#include <stdlib.h>
int sum(int n)
{
int k=0;
if(n==1)return 1;
k=n+sum(n-1);
return k;
}
void main(int argc,char *argv[])
{
int n;
FILE *fp;
if(argc!=2)
{
  printf("\nToo few parameter");
  exit(0);
}
printf("\nEnter a integer number:(>0)");
scanf("%d",&n);
fp=fopen(argv[1],"w");
printf("sum(n)=%d",sum(n));
fprintf(fp,"sum(n)=%d",sum(n));
fclose(fp);
}
二十年过去了 青春从未消失过


顶端 Posted: 2008-03-20 20:59 | [楼 主]
feiyu



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
家族: Westlife Family
发贴: 1403
威望: 0
浮云: 1599
在线等级:
注册时间: 2005-10-27
最后登陆: 2013-02-05

5come5帮你背单词 [ depict /di'pikt/ v. 描绘,描写,描述 ]


输入要为2个参数咯
第二个参数就是所要打开的文件  即 argv[1]
并且以只读的方式打开 'w'

轻轻的余游来,
正如余轻轻的游去,
冒个泡泡,
不带走一口RX的空气!

4  years ago,
With nothing here was I.
4 years later,
I've gone with nothing left
顶端 Posted: 2008-03-20 21:02 | [1 楼]
xyzlg



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1105
威望: 0
浮云: 1140
在线等级:
注册时间: 2006-03-13
最后登陆: 2010-06-01

5come5帮你背单词 [ software /'softw/ə/ n. 软件,计算方法 ]


这个是关于MAIN函数的参数用法,我不会用,谭浩强的书里应该有吧?
顶端 Posted: 2008-03-20 21:02 | [2 楼]
iguard



贝尔诺勋章 自信之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 要走了
等级: 版主
家族: 战略研究所
发贴: 11259
威望: 5
浮云: 407
在线等级:
注册时间: 2005-12-07
最后登陆: 2009-11-04

5come5帮你背单词 [ wicked /'wikid/ a. 邪恶的,恶劣的,淘气的,顽皮的 ]


如果(参数个数不等于2)
{
  打印(“    ”);
  退出(0);
}
阳光普照大地
顶端 Posted: 2008-03-20 21:02 | [3 楼]
kala888



爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 科大帅哥同盟幕后老大
等级: 前途无量
家族: YD一族
发贴: 8945
威望: 5
浮云: 855
在线等级:
注册时间: 2005-12-17
最后登陆: 2016-11-07

5come5帮你背单词 [ synthesis /'sinθisis/ n. 综合,合成,综合物,合成物 ]


argc从是命令行参数个数,
argv[1]是第二个参数的名字。。。
Quote:

别人都在假装不YD,那我就只有假装YD啦!

欢迎加入 YD一族,让我们一起创造属于我们的奇迹!
具体详情请垂询我们的业务部经理:我的电脑

顶端 Posted: 2008-03-20 21:03 | [4 楼]
xyzlg



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1105
威望: 0
浮云: 1140
在线等级:
注册时间: 2006-03-13
最后登陆: 2010-06-01

5come5帮你背单词 [ while // conj. 当…的时候,和…同时,而,然而,虽然,尽管;a. 一会儿,(一段)时间 ]


应该是,argc命令行中参数的个数,argv是一个指向字符串的指针数组~~~
顶端 Posted: 2008-03-20 21:04 | [5 楼]
木村心野



贝尔诺勋章 灌水天才奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 生命不在于活得长与短,而在于 ..
等级: 荣誉会员
家族: 丢丢
发贴: 42396
威望: 4
浮云: 430
在线等级:
注册时间: 2005-10-17
最后登陆: 2010-11-28

5come5帮你背单词 [ underlying /Λndə'laiiŋ/ a. 潜在的,在下面的 ]


if(argc!=2)//argc是整形数
{
  printf("\nToo few parameter");
  exit(0);//退出
} printf("\nEnter a integer number:(>0)");
scanf("%d",&n);
fp=fopen(argv[1],"w");//打开文件,argv是字符数组,具体定义看文件那一章的内容
顶端 Posted: 2008-03-20 21:04 | [6 楼]
hyacinse



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 959
威望: 0
浮云: 1324
在线等级:
注册时间: 2006-10-01
最后登陆: 2011-05-19

5come5帮你背单词 [ statesman /'steitsmən/ n. 政治(活动)家 ]


调用主函数的程序,调用时判断参数个数是否正确
顶端 Posted: 2008-03-20 21:07 | [7 楼]
木村心野



贝尔诺勋章 灌水天才奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 生命不在于活得长与短,而在于 ..
等级: 荣誉会员
家族: 丢丢
发贴: 42396
威望: 4
浮云: 430
在线等级:
注册时间: 2005-10-17
最后登陆: 2010-11-28

5come5帮你背单词 [ deficit /'difisit/ n. 赤字 ]


实在不懂就查MSDN里的这些函数
顶端 Posted: 2008-03-20 21:08 | [8 楼]
wzs



资源小王子奖 自信之戒
性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
发贴: 6666
威望: 5
浮云: 0
在线等级:
注册时间: 2005-09-25
最后登陆: 2018-08-07

5come5帮你背单词 [ optimism /'optimizm/ n. 乐观,乐观主义 ]


没啥问题啊
楼主想问啥问题啊
顶端 Posted: 2008-03-20 21:11 | [9 楼]
不经意间



性别: 帅哥 状态: 该用户目前不在线
头衔: 多事之秋-2008
等级: 荣誉会员
家族: 考研俱乐部
发贴: 3006
威望: 3
浮云: 1434
在线等级:
注册时间: 2007-01-03
最后登陆: 2009-04-25

5come5帮你背单词 [ estimate /'estimit, 'estimeit/ vt. & n. 估计,评价,判断 ]


Quote:
引用第9楼wzs于2008-03-20 21:11发表的  :
没啥问题啊
楼主想问啥问题啊

一是看不懂
二是运行时有问题
我正在根据各位的指点赶工呢
二十年过去了 青春从未消失过


顶端 Posted: 2008-03-20 21:15 | [10 楼]
不经意间



性别: 帅哥 状态: 该用户目前不在线
头衔: 多事之秋-2008
等级: 荣誉会员
家族: 考研俱乐部
发贴: 3006
威望: 3
浮云: 1434
在线等级:
注册时间: 2007-01-03
最后登陆: 2009-04-25

5come5帮你背单词 [ serious /'siəriəs/ a. 严重的,认真的,严肃的 ]


当我把这句删掉之后就能运行了
依旧很糊涂
这个程序哪里不附合argc!=2条件吗
Quote:

if(argc!=2)
{
  printf("\nToo few parameter");
  exit(0);
}
二十年过去了 青春从未消失过


顶端 Posted: 2008-03-20 21:28 | [11 楼]
jackie3210





性别: 帅哥 状态: 该用户目前不在线
等级: 初出茅庐
发贴: 38
威望: 0
浮云: 1136
在线等级:
注册时间: 2007-11-14
最后登陆: 2009-04-03

5come5帮你背单词 [ soccer /'sokə/ n. 足球 ]


if(argc!=2)//如果命令行参数个数不等于2
{
  printf("\nToo few parameter");//输出"参数个数太少"
  exit(0);//正常退出
}

fp=fopen(argv[1],"w");//以写的方式打开命令行参数中第二个参数指定的文件

在运行该程序时需要在命令行中输入指定个数的参数(本题为两个,比如为sum.exe ..\count.txt),你没有输对参数个数,自然就不满足啦.
顶端 Posted: 2008-03-24 14:31 | [12 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.010331(s) query 5, Time now is:11-22 09:15, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号