CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

指出下面程序片段中的错误

楼主softmse(Jake)2005-04-02 17:07:56 在 C/C++ / C++ 语言 提问

a)int   Update(const   int   &x,int   y,int   x)  
  {  
        y=z%3;  
        x=y+z;  
        return   x;  
  }  
   
  b)int   Sum(int   x,int   y=3,int   x)  
  {  
        return   x+y+z;  
   
  }  
   
  c)void   Flow(double   x,int   y){  
        return   x+y;  
   
  }  
   
  d)double   Mul(const   double   a,const   double   b)  
  {  
  return   a*b;  
  }  
   
  e)double   Mul(double   x,double   y){  
        return   x*y;    
   
  }  
   
   
   
   
   
  f)bool   GetInput(istream   in,     int   &Value){  
                    if(in>>Value)  
                          return   true;  
                      else  
                              return   false;  
   
   
  g)     bool   GetInput(const   istream   &in,     int   &Value){  
                    if(in>>Value)  
                          return   true;  
                      else  
                              return   false;  
   
  }  
   
   
   
  a)里面x=y+z   ,y,Z为变量   ,   x为常量,有错  
  b)int   y=3,应该为int   y  
  c)有返回值,不能用VOID  
  d),   e)是对的吧  
   
  f,g     不知如何办?前面的判断,是否有误,请各位指点.  
   
  问题点数:50、回复次数:10Top

1 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-04-02 17:48:40 得分 10

a)估计是你写错了,怎么有两个x。x是只读的引用,不能改变  
  b)估计是你写错了,怎么有两个x。缺省参数只能放在尾部,例如这样是可以的:  
  int   Sum(int   x,int   y,int   z=3)  
  {  
        return   x+y+z;  
  }  
  c)同你说的  
  d)正确  
  e)正确  
  f)正确,不过建议把in设成引用型的  
  g)如果是const引用,就没法往里面写东西了,所以in>>Value会出错Top

2 楼dongyuanzhang(阿林)回复于 2005-04-02 17:59:57 得分 10

c)void   Flow(double   x,int   y){  
        return   x+y;  
   
  }  
  应该返回double类型。  
   
  d),   e)结合起来就有问题了,重载错误。当然应该还有防止溢出防错处理。。。。Top

3 楼greenteanet(扎扎实实打基础,保持一颗平常心。)回复于 2005-04-02 19:26:45 得分 5

自己写个程序测试一下就知道为什么了//Top

4 楼ulwxf2(阿华)回复于 2005-04-02 20:09:25 得分 5

支持楼上的~!~Top

5 楼kobefly(科比--网络学习中)回复于 2005-04-02 20:23:52 得分 5

你的为什么ab里边都有2个x呢?  
  不懂,这样,里边调用的时候,怎么可能知道是哪个x呢?  
  b  
  缺省参数只能在最右边,不可以这样没有次序的  
  c  
  void不能返回值  
  d,e,f正确  
  g由于in是个引用,是左值不能进行写操作,<<这个操作符不能执行,所以是错的  
  Top

6 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-02 20:44:19 得分 5

a,b估计有个是zTop

7 楼softmse(Jake)回复于 2005-04-03 11:58:12 得分 0

不好意思,更正一下:  
   
  a)int   Update(const   int   &x,int   y,int   z)  
  {  
        y=z%3;  
        x=y+z;  
        return   x;  
  }  
   
  b)int   Sum(int   x,int   y=3,int   z)  
  {  
        return   x+y+z;  
   
  }  
   
  Top

8 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-04-03 12:19:57 得分 5

e)double   Mul(double   x,double   y){  
        return   x*y;    
   
  }  
  --------  
  会溢出吗?Top

9 楼softmse(Jake)回复于 2005-04-03 12:28:19 得分 0

请问in>>Value中的>>,怎么理解,是析取运算符吗?这个语句是什么意思Top

10 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-04-03 12:34:31 得分 5

你理解cin>>value;的意思吗,这个和那个是一样的  
   
  具体去看输入输出流的章节Top

相关问题

  • 精典考题,指出下面程序中的错误
  • 请指出下面的程序有何错误
  • 程序错误
  • 程序错误
  • 程序错误
  • Huffman 编码译码!程序不健壮.谁能帮我指出错误!
  • 能够指出我程序错误的给100分!其他的不给分!
  • 请指出错误
  • explorer.exe-应用程序错误
  • 程序保护错误?

关键词

  • 引用
  • double
  • 返回
  • 不能
  • 应该
  • const

得分解答快速导航

  • 帖主:softmse
  • lw1a2
  • dongyuanzhang
  • greenteanet
  • ulwxf2
  • kobefly
  • oyljerry
  • zhousqy
  • lw1a2

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo