刚学c语言函数的调用,有个函数调用的程序出错了,求高手帮忙,谢谢了。

【求助】学C语言函数的时候遇到了问题,求高手解答~~~~_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:321,323贴子:
【求助】学C语言函数的时候遇到了问题,求高手解答~~~~收藏
#include "stdio.h"#include "conio.h"int sum(int n){
float f=1.0,s=0.0;
for(i=1;i&=n;i++);
return(s);}main(){
printf("n=");
scanf("%d",&n);
printf("%f",sum(n));
getch();}上面是我写的程序,题目要求是:用子函数的形式写 从键盘输入一个数n求1-1/2+1/3-1/4~~~+1/n;单独的写这个程序没问题,但是写调用函数的时候就不知道是哪里出错了.....在线等高人解答~~~~谢谢~~
int sum --& float sum
不过 盖勒这里后运算结果还是不对
结果是-0.33333.....郁闷啊~~~
f=-f; 放s+=f/i; 的后面
也这样改了.....运算结果还是不对,依旧0.33333...晕了
试试sum中的for循环从i=2开始,给s设一个另外的初值
for后面多了个分号,再按四楼说的做
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或共有 923 人关注过本帖
标题:急!刚学C语言,有些题不会做,请高手帮帮忙啊!
来 自:湖北
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:14&&&
急!刚学C语言,有些题不会做,请高手帮帮忙啊!
1.&&& 编写程序,输入一个字符串,求出这个字符串的长度(使用strlen函数直接求解不得分)。
2.&&& 编写一个程序,将字符串a复制到b中。(使用strcpy函数不得分)
3.&&& 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
4.&&& 编写程序, 输入10个学生3门课的成绩, 计算每个学生的平均成绩,按平均成绩降序排列并打印出结果。
5.&&& 编写程序,在主函数中输入10个数,在函数invert中将10个数按反序存放,并在主函数中输出结果。
6.&&& 输入一行字符,保存在数组中,要求统计其中字母字符、数字字符和其它字符的个数。
搜索更多相关主题的帖子:
等 级:论坛游民
帖 子:34
专家分:54
1.#include &stdio.h&
&&& char c[10];
&&& gets(c);
&&& strlen(c[10]);
&&& printf(&%d&,strlen(c[10]));
2.#include &stdio.h&
&&& char a[5]=&hello&;
&&& char b[]=&world&;
&&& strcpy(a[],b[]);
&&& printf(&%s&,a[]);
想这类的帖子希望还是LZ自己做,因为别人的帮助对你没什么好处
提示: 作者被禁止或删除 内容自动屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
等 级:青峰侠
帖 子:425
专家分:1725
回复 2楼 a8979595
哈哈呵 ,没看清楚要求啊 !
不要让肮脏的记忆,迷失了原本纯洁的心灵!
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
#include&stdio.h&
#include&string.h&
void main()
&&& char str[20],str1[10],*p,*q;
&&& int m,n,t=strlen(str)-n+1;
&&&&&&&&p=str,q=str1;
&&& printf(&请输入字符串str:\n&);
&&& gets(str);
&&& printf(&请输入一个字符长度为t的字符串str1:\n&);
&&& gets(str1);
&&&&&&&&&&&&printf(&请输入整数n:\n&);
&&& scanf(&%d&,&n);
&&&&&&&&m=n-1;
&&& for(p=&str[m];p&&str[m]+strlen(str)-m;p++)
&&& *p=*q++;
&&& puts(p);
&&& 字符串复制
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
#include&stdio.h&
#include&string.h&
&&& void main()
&&&&&&&&char s[27];
&&&&&&&&int strlenth(char str[30]);/*函数声明**/&&&&&&&&
&&&&&&&&printf(&请输入字符串s:\n&);
&&&&&&&&gets(s);
&&&&&&&&t=strlenth(s);/*函数调用*/
&&&&&&&&printf(&%d&,t);
&&&&&&&&printf(&\n&);
int strlenth (char str[30])/*函数定义*/
&&&&&&&&int i,j,count,k;
&&&&&&&&k=strlen(str),i=0,j,count=0;
&&&&&&&&for(i=0;i&k;i++)
&&&&&&&&if(str[i]!='\0')
&&&&&&&&&&&&count++;
&&&&&&&&j=
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
#include &stdio.h&
int main(void)
int e=0,k=0,s=0,q=0;
printf(&请输入一行字符\n&);
while((c=getchar())!='\n')
if((c&='a'&&c&='z')||(c&='A'&&c&='Z'))
else if(c==' ')
else if(c&='0'&&c&='9')
printf(&英文字母有%d个,空格有%d个,数字有%d个,其他字符有%d个\n&,e,k,s,q);
最后一题,不过没保存到数组里,你可以改改
来 自:湖北
等 级:新手上路
回复 2楼 a8979595
嗯,知道了,谢谢你的忠告。
来 自:湖北
等 级:新手上路
回复 8楼 遮天云
版权所有,并保留所有权利。
Powered by , Processed in 0.028131 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved求高手帮忙注释下这个程序的函数调用和主要步骤~~~谢谢了~~~_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:321,323贴子:
求高手帮忙注释下这个程序的函数调用和主要步骤~~~谢谢了~~~收藏
#include&stdio.h&&&&#include&stdlib.h&&&&&&#include&string.h&&&&struct per{char mz[20];char zh[20];char mm[20];}dat,void main(){&&&int cut=0;char account[20],mm[20];&&&& char account1[]={"admin"},mm1[]={"admin888"}; &&&& void kh();&&&& void dl();&&&& void cx();&&&& void ck();&&&& void qk();&&&& void xh();&&&& void gl();&&&&&dl:&&&&& printf("&&&&&&&& ┌————————————————————————┐\n");&&&& printf("&&&&&&&& ├———————欢迎进入银行管理系统———————┤\n");&&&& printf("&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&& │&&&&&&&&&& 请以管理员的身份登陆管理系统&&&&&&&&&& │\n");&&&& printf("&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&& │&&&&&&&&&& 声明:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& │\n");printf("&&&&&&&& ├————————————————————————┤\n");printf("&&&&&&&& │&&&&&&&&&& 管理员帐号:admin 密码为:admin888&&&& │\n");&&&& printf("&&&&&&&& └————————————————————————┘\n");printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& \n");&&&& printf("&&&&&&&&& 请输入管理员帐号:");scanf("%s",account);&&printf("\n");printf("&&&&&&&&& 请输入管理员密码:");scanf("%s",mm);printf("\n");if(strcmp(account1,account)==0 && strcmp(mm1,mm)==0)
{&&& printf("&&&&&&&&& 登陆成功!\n");&&&&&&& }&&&& {&&& printf("&&&&&&&& 帐号或密码输入错误,重新输入....\n");&&& printf("&&&&&&&& 按任意键返回....\n");&&&}gl:&&& printf("&&&&&&&&& ┌————————————————————————┐\n");&&&& printf("&&&&&&&&& ├———————欢迎进入银行管理系统———————┤\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (1).申请帐号,输入1并按Enter&&&&&&&&&&& │\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (2).存款管理,输入2并按Enter&&&&&&&&&&& │\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (3).取款管理,输入3并按Enter&&&&&&&&&&& │\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (4).查询管理,输入4并按Enter&&&&&&&&&&& │\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (5).注销管理,输入5并按Enter&&&&&&&&&&& │\n");&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& │&&&&&&&&&& (6).退出系统,输入6并按Enter&&&&&&&&&&& │\n");
&&&& printf("&&&&&&&&& ├————————————————————————┤\n");&&&& printf("&&&&&&&&& └————————————————————————┘\n");&&&&&& printf("&&&&&&&&&&& 请输入选择:");&&& do&&& {&&&& scanf("%d",&i);&&&& switch(i)&&&& { &&&& case 1:system("cls");kh();&&&&&&&&& case 2:system("cls");ck();&&&&&&&&&&&& case 3:system("cls");qk();&&&&&&&&& case 4:system("cls");cx();&&&&&&&&& case 5:system("cls");xh();&&&& case 6:exit(0);&&&&&&& default:printf("&&&&&&&&& 输入错误,请重新输入");&&&& }&&& }while(i!=0);}void kh() /* 开户 */{&&&& FILE *pa,*pa1;&&&& char mm_ok[20];&&&& pa = fopen("db.dat","ab"); lp: printf("请输入你的名字:");&&&& scanf("%s",dat.mz);&&&& pa1 = fopen("db.dat","rb");&&&& printf("帐号:");&&&& scanf("%s",dat.zh);&&&& while(fread(&temp,sizeof(temp),1,pa1) ==1 ) &&&& {&&&&&&&& if ((strcmp (dat.zh,temp.zh) == 0))&&&& {&&&&&&&&&&&& printf("此帐号已经有人用了,请重新输入.\n");&&&&&&&&&&&& fclose(pa1);&&&&&&&&&&&&&&&&&&&&&& }&&&& }&&&& printf("密码:");&&&& scanf("%s",dat.mm);&&&& printf("确认密码:");&&&& scanf("%s",&mm_ok);&&&& if(strcmp(dat.mm,mm_ok) !=0) &&&& {&&&&&&&& printf("确认密码不一样!请重新输入.\n");&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&& dat.money = 0;&&&& dat.statue=1;&&&& fwrite(&dat,sizeof(dat),1,pa); &&&& fclose(pa);
&&&& printf("申请成功.\n");&&&& printf("输入任何键返回菜单......\n");}void cx() /* 查询 */{&&&& FILE *&&&& char zh[20];&&&& pa = fopen("db.dat","rb");&&&&&&& if(pa == NULL) &&&& {&&&&&&&& printf("还没有一个人申请帐号.\n");&&&&&&&& printf("输入任何键返回菜单......\n");&&&& }&&&& else&&&& {&&&&&&&& printf("请输入你的帐号:");&&&&&&&& scanf("%s",zh); &&&&&&&& while(feof(pa) ==0)&&&& {&&&&&&&&&&&& fread(&dat,sizeof(dat),1,pa); &&&&&&&&&&&& if(strcmp(dat.zh,zh) == 0) &&&&&&& {&&&&&&&&&&&&&&&& printf("&&&&&&&&& ------------------------------------------------\n");&&&&&&&&&&&&&&&& printf("&&&&&&&&& | 名字&&&&&& |&&&& 帐号&&&& | 存款(元)|&&& 状态&&& |\n");&&&&&&&&&&&&&&&& printf("&&&&&&&&& |------------|------------|---------|----------|\n");&&&&&&&&&&&&&&&& printf("&&&&&&&&& |%12s|%12s%|%9d|%10d|\n",dat.mz,dat.zh,dat.money,dat.statue);&&&&&&&&&&&&&&&& printf("&&&&&&&&& ------------------------------------------------\n");&&&&&&&&&&&&&&&& printf("按任何键返回菜单......\n");&&&&&&&&&&&& getchar();&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&& else if(feof(pa) !=0)&&&&&&& {&&&&&&&&&&&&&&&& printf("帐号不存在!\n");&&&&&&&&&&&&&&&& printf("按任何键返回菜单......\n");
&&&&&&&&&&&& getchar();&&&&&&&&&&&&&&&&&&& }&&&& }&&&& }&&&& fclose(pa);}void ck()&&& /* 存款 */{&&&& FILE *db,*&&&& char zh[20];&&&& char mm[20];&&&& int money,i=1;&&&& db = fopen("db.dat","rb");if(db == NULL){&&& printf("还没有一个人申请帐号.\n");&&&&&&&& printf("输入任何键返回菜单......\n");&&&&&&&& getchar();&&&}&&&& printf("请输入你的帐号:");&&&& scanf("%s",zh);&&&&&&&&&&&&&&&&&&& printf("密码:");&&&&&&&&&& scanf("%s",mm);&&&& while(!feof(db))&&&& {&&&&&&&& fread(&dat,sizeof(dat),1,db);&&&&&&&& if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0)&&&&&&&& {&&&&&&&&&&&& printf("请输入你要存款的数额:");&&&&&&&&&&&&&&&&&&&&&&& scanf("%d",&money);&&&&&&&&&&&& strcpy(temp.mz,dat.mz);&&&&&&&&&&&& strcpy(temp.zh,zh);&&&&&&&&&&&& strcpy(temp.mm,mm); &&&&&&&&&&&& temp.money = dat.money +&&&&&&&&&&&&&&&&&&&& }&&&&&&&& i++;&&&&&&&& if(feof(db) !=0) &&&& {&&&&&&&&&&&& printf("帐号不存在!\n");&&&&&&&&&&&& printf("按任何键返回菜单......\n");&&&&&&&&&&&& getchar();&&&&&&&&&&&&&&&& }&&&& }&&&&&&&& if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0)&&&& {&&&&&&&&&&&& fclose(db);
&&&&&&&&&&&& lan = fopen("db.dat","wb+");&&&&&&&&&&&& fseek(lan,i*sizeof(temp),0);&&&&&&&&&&&& fwrite(&temp,sizeof(temp),1,lan);&&&&&&&&&&&& rewind(lan); &&&&&&&&&&&& fclose(lan); &&&& }&&& printf("存款成功!\n");&&& printf("按任何键返回菜单......\n");&&& getchar();gl:; }void qk()&&& /* 存款 */{&&&& FILE *db,*&&&& char zh[20];&&&& char mm[20];&&&& int money,i=1;&&&& db = fopen("db.dat","rb"); if(db == NULL){&&& printf("还没有一个人申请帐号.\n");&&&&&&&& printf("输入任何键返回菜单......\n");&&&&&&&& getchar();&&&}&&&& printf("请输入你的帐号:");&&&&&&&&&&&&& scanf("%s",zh);&&&&&&&&&&&&&&&&&&& printf("密码:");&&&&&&&&&& scanf("%s",mm); &&&& while(!feof(db))&&&&&&&&&&&&& {&&&&&&&& fread(&dat,sizeof(dat),1,db);&&&&&&&&&&&& if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0) &&&&&&&& {&&&&&&&&&&&& printf("请输入你要取款的数额:");&&&&&&&&&&&&&&&&&&&&&&& scanf("%d",&money);&&&& if(money & dat.money )&&&& {&&&&& printf("对不起,您的余额不足!\n");&&&&& printf("按任何键返回菜单......\n");&&&&& getchar();&&&&&&&&& }&&&&&&&&&&&& strcpy(temp.mz,dat.mz); &&&&&&&&&&&& strcpy(temp.zh,zh); &&&&&&&&&&&& strcpy(temp.mm,mm);&&&&&&&&&&&& temp.money = dat.money -&&&&&&&&&&&&
&&&&&&&& }&&&&&&&& i++;&&&&&&&&&&&& if(feof(db) !=0) &&&& {&&&&&&&&&&&& printf("帐号不存在!\n");&&&&&&&&&&&& printf("按任何键返回菜单......\n");&&&&&&&&&&&& getchar();&&&&&&&&&&&&&&&& }&&&& }&&&&&&&& if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0)&&&& {&&&&&&&&&&&& fclose(db);&&&&&&&&&&&& lan = fopen("db.dat","wb+");&&&&&&&&&&&& fseek(lan,i*sizeof(temp),0);&&&&&&&&&&&&&&&&&&&& fwrite(&temp,sizeof(temp),1,lan);&&&&&&&&&&&&&&&&& rewind(lan);&&&&&&&&&&&&&&&&& fclose(lan); &&&& }&&& printf("取款成功!\n");&&& printf("按任何键返回菜单......\n");&&& getchar();gl:;&&&}void xh(){&&&& FILE *db,*&&&& char zh[20];&&&& char mm[20];char statue[5],statue1[]={"y"};&&&& int money,i=1;&&&& db = fopen("db.dat","rb");if(db == NULL){&&& printf("还没有一个人申请帐号.\n");&&&&&&&& printf("输入任何键返回菜单......\n");&&&&&&&& getchar();&&&}&&&& printf("请输入你的帐号:");&&&& scanf("%s",zh);&&&&&&&&&&&&&&&&&&& printf("密码:");&&&&&&&&&& scanf("%s",mm);&&&& while(!feof(db))&&&&&&&&&&&&& {&&&&&&&& fread(&dat,sizeof(dat),1,db);&&&&&&&&&&&& if(strcmp(zh,dat.zh) == 0 && strcmp(mm,dat.mm) == 0)&&& {&&&& printf("&&&&&&&& ┌————————————————————————┐\n");
&&&& printf("&&&&&&&& ├———————是否注销此账户(y/n)-———————┤\n");&&&& printf("&&&&&&&& └————————————————————————┘\n");&&&& printf("请选择是否销户:");&&&& scanf("%s",statue);&&&& if(strcmp(statue,statue1)==0)&&&& {&&&&&&&& strcpy(temp.mz,dat.mz); &&&&&&&&&&&&&& strcpy(temp.zh,zh); &&&&&&&&&&&&&& strcpy(temp.mm,mm);&&&&&&&&&&&&&& temp.statue = 0;&&&&&&&&&&&&&& &&&& }&&&& else&&&& {&&&&& printf("按任何键返回菜单......\n");&&&&&&&&& }&&& }&&& i++;&&&&&&&& if(feof(db) !=0) &&&& {&&&&&&&&&&&& printf("帐号不存在!\n");&&&&&&&&&&&& printf("按任何键返回菜单......\n");&&&&&&&&&&&& getchar();&&&&&&&&&&&&&&&& }}&&&&& if(strcmp(zh,temp.zh) == 0 && strcmp(mm,temp.mm) == 0)&&&& {&&&&&&&&&&&& fclose(db);&&&&&&&&&&&& lan = fopen("db.dat","wb+");&&&&&&&&&&&& fseek(lan,i*sizeof(temp),0);&&&&&&&&&&&&&&&&&&&& fwrite(&temp,sizeof(temp),1,lan);&&&&&&&&&&&&&&&&& rewind(lan);&&&&&&&&&&&&&&&&& fclose(lan); &&&& }&&& printf("操作成功!\n");&&& printf("按任何键返回菜单......\n");&&& getchar();gl:;&&&}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或新手刚学C++ 有个程序实在看不懂 请高手指点指点啊
20beyond_self]
编辑:www.fx114.net
本篇文章主要介绍了"新手刚学C++ 有个程序实在看不懂 请高手指点指点啊
20beyond_self]",主要涉及到新手刚学C++ 有个程序实在看不懂 请高手指点指点啊
20beyond_self]方面的内容,对于新手刚学C++ 有个程序实在看不懂 请高手指点指点啊
20beyond_self]感兴趣的同学可以参考一下。
#include&&stdio.h&
A&(double&d)
printf("A::A(double)\n");
void&f(const&A&&a)//请问这儿的&是什么意思?有什么作用呢?
printf("f:&%f\n",a.x);
谢谢啊没学过引用啊不好意思啊
你指的是什么引用啊
能不能详细点呀擦&子函数调用调用哪一个啊?
我现在手边没有相关的资料书籍
哪位能够推荐一个对C++基本语法讲的比较好的网站呀?或者电子书也行啊#include&&stdio.h&
A&(double&d)
printf("A::A(double)\n");
void&f(const&A&&a)//请问这儿的&是什么意思?有什么作用呢?
printf("f:&%f\n",a.x);
A&a(1);//这里是什么意思?没有a()这个函数啊
好心的大虾帮助我呀!~c++&primer&plusconst&引用,提高了效率,避免了值传递
带括号的那个是构造函数楼主的'&'这个符号表示常引用(由于前面有const)!
其实它把数字也当做了常对象
例如:f(2);中的2
否则会报错.
void&f(const&A&&a){
printf("f:&%f\n",a.x);
这个函数的作用其实就是输出对象a中的数据成员x的值.
因为楼住用的是struct声明的一个类,所以,它的默认数据成员只有public这个属性..
注意是默认哦....而class默认的类型是privatethanks&for&hellogogo()&
请问能帮我解释下
A&a(1);//这里是什么意思?没有a()这个函数啊
谢谢wanfustudio 已经讲得很清楚了,
A&(double&d)
printf("A::A(double)\n");
是构造函数,A&a(1)就是使用它的构造函数啊。赋值为x=d=1.最好学习下C++,里面的类中有介绍。引用啊********************************************
A&a(1);//这里是什么意思?没有a()这个函数啊
********************************************
这不是个函数,
因为A是个类,a(1)这是实例化类A-----就是声明一个对象a
此时要调用类A里面的构造函数,参数为1举个例子
抢(const&玩具&&别人的玩具);&&//&参数为引用,这样别人的玩具就被你抢了
买(玩具&要买的玩具);&//&你买到了玩具,但商店还有卖的呵呵
现在明白了
看来我要加油咯
谢谢大家了!~~~~~~~~~谢谢各位啊~~~~~建议楼主还是去看看C++的基本语法,你这个程序简直就是以C为主的C++的程序呀,虽然综合起来用不会有什么问题,但是怎么看怎么别扭呀!!
而且你那个main函数怎么没有返回值,你怎么也得这样写吧int&main()
你没有引用和构造函数的概念,我要是在后面给你加一个&~A(),那你岂不是彻底郁闷了??
还是去看看c++的基本语法再来吧!!呵呵谢谢&murui(纪大烟袋)&啊
我是初学者&正准备去看C++的基本语法呢
听说C++&perimer&不错是么?~~~~~是c++&primer,楼主呵呵&不好意思打错了ssssssprimer对于初学者来说太难了,去找本简单点的吧,擦,&就是个引用.yan_here(!◎##@!)&
兄弟能不能推荐个简单点的呢上海这边拉面4元一碗呀引用类似于传地址,在delphi中类似于var,在C#中类似于ref,在VB中忘记了。
和传地址又是不完全相同的。
我们来说一下编译后的汇编会是什么样子的。
所有的变量都会变成堆栈中的一个偏移量,而运算的目标地址就是堆栈寄存器+偏移量。
如果是引用变量,那么编译后将直接是对于堆栈中原来位置上的数据进行操作。
如果是传地址的,最终效果是一样的,但是目标是间接寻址的,他的操作数是栈中的某个地址,这个地址指向的是栈中原来的位置。
如果是值的,那么复制原来位置上的数据到栈的一个新位置上,操作针对的是新的位置,原来位置的值不会发生变化。
也只有C才会区别传地址和引用,其他的编程语言,基本上都是传地址的间接寻址。
主要原因是C的类是建立在结构基础上的,它可以在栈中分配空间,其他语言绝大多数都是在堆上面分配空间,所以基本上传地对象的时候都是传地址。楼主对C++这门语言不了解!!鉴定完毕A&a(1)是定义一个类啊,a(1)是调用构造函数给类型赋值楼主对C++这门语言不了解应该稍微多学点再来问。。。。除非是急于解决作业。不过不排除搂主了解C但是不了解C++的可能,因为问得都还算C++的新增内容。假如是学过比较多的C了,再来学C++,其实C++&Primer还是可以的,起码我个人感觉就是这样,这本书没有一些人说的那么难,虽然也的确不是那么容易,不过有些C的基础,学起来,细心点还是可以的。C++&Primer&4th&
很好的一本书,即使初学,只要能够坚持下去,收获也会很大的。programing&c++&today
洋鬼子的东西还算不错
一起加油吧
本文标题:
本页链接:求高手帮忙写一下 这个程序,,,,,谢谢了(2)_Java123社区微信号:java123msg |||[][]当前位置: &
& 求高手帮忙写一下 这个程序,,,,,谢谢了(2)voidfilename()//选择打开的文件 { printf( @输入将要打开的文件名: ); scanf( %s ,file); getchar(); } voidwrite_ab(STU*head)//数据追加 { FILE* if((fp=fopen(file, ab ))==NULL)//打开void&filename()&&&&//选择打开的文件{ printf("@输入将要打开的文件名:&"); scanf("%s",file); getchar();}void&write_ab(STU&*head)&&&//数据追加{ FILE&* if((fp=fopen(file,"ab"))==NULL)&&&//打开二进制文件,在尾部添加数据 {
printf("can't&open&the&file!");&&
fclose(fp); } p= while(p!=NULL) {
if(fwrite(p,LEN,1,fp)!=1)&&&//把要添加数据写入文件 {
printf("写入数据错误!");
fclose(fp);
} p=p-& } fclose(fp);}STU&*read_rb()&&&//读取文件数据保存到链表中,返回链表头指针{ FILE&* head=NULL; if((fp=fopen(file,"rb"))==NULL) {
printf("打开文件失败!");
fclose(fp); } while(!feof(fp)) {
if((p=(STU&*)malloc(LEN))==NULL)&&//申请内存,创建链表
printf("申请内存错误!");
fclose(fp);
if(fread(p,LEN,1,fp)!=1)&&&//读出文件里的数据
if(head==NULL)
head=q=p;&&&&&
q-&next=p;
} } if(head!=NULL)&q-&next=NULL;&&//最后结点 fclose(fp); return&(head);&&//返回链表头指针}void&Ser_num()&&&//数据查询----学号{ char&str[5]; STU&*p_ printf("@输入要查询的学号:"); scanf("%s",str); p_num=read_rb();&&//使p_num指向读出的数据链表的头指针 Print(); do {
if(strcmp(str,p_num-&num)==0)&&&//学号比较,找出与输入相同的学号
printf("%15s%13s%8s%12.1f%10.1f",p_num-&num,p_num-&name,p_num-&sex,
p_num-&Cscore,p_num-&Escore);
p_num=p_num-& }while(p_num!=NULL); if(p_num==NULL)
printf("呜呜~~没有你要找的数据。");
putchar('\n\n');}void&Ser_name()&&&&//数据查询-----姓名{&& char&str[10]; void&Print(); STU&*p_ printf("@输入要查询的姓名:"); scanf("%s",str); p_name=read_rb(); Print(); do {
if(strcmp(str,p_name-&name)==0)
printf("%15s%13s%8s%13.1f%11.1f",p_name-&num,p_name-&name,p_name-&sex,
p_name-&Cscore,p_name-&Escore);
p_name=p_name-& }while(p_name!=NULL); if(p_name==NULL)&&&&& printf("呜呜~~没有你要找的数据。");
putchar('\n');}void&Del()&&&&&&&&&//删除数据{ char&str[5]; printf("@输入你要删除的学号:"); scanf("%s",str); p=read_rb(); q=p-& head=p; while(q!=NULL) {
if(strcmp(str,p-&num)==0)
free(p);&&&&&&&&&&&//若删除的结点是链表头
write_wb(q);
else&if(strcmp(str,q-&num)==0)
p-&next=q-&&&&&//若q结点是要删除的结点
write_wb(head);
p=q;&&&&&&&&&&&&&&//p。q后移
q=q-& } if(q!=NULL)
printf("呜呜~~没有你要删除的数据。"); putchar('\n');}void&clear_up()&&&&&&&&&&&&&&&//整理数据{ STU&*first,*min,*p_min,* head=read_rb(); first=NULL; while(head!=NULL) {
for(p=head,min=p-&next!=NULL;p=p-&next)
if(strcmp(p-&next-&num,min-&num)&0)&&&//循环找出最小的
if(first==NULL)
tail=&&&&&&
}&&&&&&&&&&&&&&&&&
tail-&next=&&
if(min==head)&&&//如果链表头是最小,下个结点做链表头,进入下一次循环
head=head-&
p_min-&next=min-&&&&&&& } if(first!=NULL)
tail-&next=NULL; head= write_wb(head);}void&score_account()&&&&&//成绩统计{ head=read_rb();&&&&//函数调用,haed指向链表头 p= int&Ccount=1,Ecount=1; float&min_Escore,max_Escore,avg_Escore,all_Escores,max_all_共8页顶一下(0)0%踩一下(0)0%------分隔线------上一篇: 下一篇: 栏目列表推荐内容#includeiostream int main() { bool flag= int a[50][50]...
下面有两段代码,只有红色标记部分的构造函数是不相同的。第...
将一个类的成员放在一个头文件中,函数的定义放在一个CPP实现...}

我要回帖

更多关于 c语言函数的调用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信