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

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

不经意间



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

5come5帮你背单词 [ appoint /ə'point/ vt. 任命,委派,指定,约定(时间、地点等) ]


求达人解释一个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帮你背单词 [ lower /'ləuə/ a. 较低的,下等的,下游的;vt. 放下,放低,降低 ]


输入要为2个参数咯
第二个参数就是所要打开的文件  即 argv[1]
并且以只读的方式打开 'w'
顶端 Posted: 2008-03-20 21:02 | [1 楼]
xyzlg



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

5come5帮你背单词 [ chimney /'timni/ n. 烟囱,烟道 ]


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



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

5come5帮你背单词 [ shrewd /ru:d/ a. 精明的,机敏的 ]


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



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

5come5帮你背单词 [ alongside /ə'loŋ'said/ prep. 在…旁边,沿着…的边,和…在一起,和…相比;ad. 在旁边,并排地 ]


argc从是命令行参数个数,
argv[1]是第二个参数的名字。。。
顶端 Posted: 2008-03-20 21:03 | [4 楼]
xyzlg



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

5come5帮你背单词 [ hazardous /'hæzədəs/ n. 冒险的,危险的,有害的 ]


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



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

5come5帮你背单词 [ burst /bə:st/ vi. 爆炸,破裂,突然发生 ]


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帮你背单词 [ furnace /'fə:nis/ n. 熔炉,火炉,锅炉,反应堆 ]


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



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

5come5帮你背单词 [ identical /ai'dentikəl/ a. 相同的,同一的 ]


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



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

5come5帮你背单词 [ family /'fæmili/ n. 家,家庭,家族,氏族,(尤指动植物的)系,族,科 ]


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



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

5come5帮你背单词 [ strait /streit/ n. (pl.)海峡,困境 ]


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帮你背单词 [ radius /'reidjəs/ (radiuses)范围;半径 n. 半径,辐射光线,界限,范围 ]


当我把这句删掉之后就能运行了
依旧很糊涂
这个程序哪里不附合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帮你背单词 [ regenerate /ri'd3əenəreit/ vt. 使新生,使再生;vi. 新生,再生;a. 新生的,再生的 ]


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.033789(s) query 7, Time now is:05-10 04:29, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号