| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:求解某个语句的意思,及其用法。
只看楼主 加入收藏
mfs111116
Rank: 2
来 自:山东烟台
等 级:论坛游民
帖 子:28
专家分:38
注 册:2012-8-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求解某个语句的意思,及其用法。
在一例程序中,有个语句不太懂其意思及用法。代码如下:
程序代码:
//用引用返回函数多个值   例题
#include<iostream>
using namespace std;
enum ERR_CODE { SUCCESS, ERROR };//枚举常量,这没什么问题
ERR_CODE Factor(int, int&, int&);//问题是,为何在函数前面加上它?
int main()
{
   int number, squared, cubed;
   ERR_CODE result;  //此句又是什么意思?特别是,没有类型么?
cout << "Enter a number (0 - 20): ";
cin >> number;
result = Factor(number, squared, cubed);
if (result== SUCCESS)
{
   cout <<"number: " << number << endl;
   cout <<"square: " << squared << endl;
   cout <<"cubed: " << cubed<< endl;
}
else
   cout <<"Error encountered!!" << endl;
return 0;
}
ERR_CODE Factor(int n, int &rSquared, int &rCubed)
{
   if (n > 20)
      return ERROR;// simple error code
   else
   {
      rSquared = n*n;
      rCubed = n*n*n;
      return SUCCESS;
   }
}
问题已如解释中说,请大家指教。
搜索更多相关主题的帖子: include 
2012-09-03 06:28
mfs111116
Rank: 2
来 自:山东烟台
等 级:论坛游民
帖 子:28
专家分:38
注 册:2012-8-22
收藏
得分:0 
另一例,getchar()的用法:
程序代码:
//题意:要求输入10个字符,求其中ASCII码值最大者。
#include<iostream>
using namespace std;

int main()
{
    const int NUM=10;  //定义常量
    int max,c;
    max=0;

    cout<<"请输入"<<NUM<<"个字符,系统将输出其中ASCII码最大者:"<<endl;
    for(int i=1;i<=NUM;i++)
    {
        cout<<i<<endl;        //显示程序运行过程
        if((c=getchar())>max) //getchar()的用法不是很明白。
          max=c;              //如改为max=getchar()在回车输入的情况下,输出显示  10 ?
    }
    cout<<"其中ASCII码值最大者为:"<<max<<endl;

    return 0;
}
此程序中有三个问题想问:一、在输入时,若用回车后输入,只能输入5个字符,是否回车也相当于输入了一字符?二、空格输入,则可能输入20个字符也不停止,必须用回车,然后(程序中本无i量,为显示其运行过程加入)才逐一获取字符?三、如解释中所述,为何max=c变为max=getchar(),输出结果显示为10,其原因如何?
2012-09-03 06:34
zhangri_123
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2012-8-31
收藏
得分:10 
enum ERR_CODE { SUCCESS, ERROR };//枚举常量,这没什么问题
 这里ERR_CODE其实已经声明为一种枚举类型,ERR_CODE Factor(int, int&, int&);表示函数返回值是枚举类型ERR_CODE, ERR_CODE result;是一个枚举类型的变量。其实这里的ERR_CODE等同于int,float等,不过一个是系统定义,一个是我们自己定义的罢了
2012-09-03 09:50
mfs111116
Rank: 2
来 自:山东烟台
等 级:论坛游民
帖 子:28
专家分:38
注 册:2012-8-22
收藏
得分:0 
,感谢,有老师和没老师就是不一样,自己怎么也想不明白,一说,哦,原来如此……
2012-09-04 12:25
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:10 
//问题是,为何在函数前面加上它?
这是函数声明。在 main 里要用这个函数,但定义在 main 之后。为了符合先声明再使用的原则,要先在 mian 前写明。
如果把这个函数的定义写在 main 前面,由于定义也是声明的一种,就不用再特意声明了。

枚举型如果还没有学过,或是学得还不深入,正好可以用这个例子再复习一下。


第二 getchar() 的问题。它什么字符都读,不管是空格还是回车什么的。和 scanf 呀,cin 之类的函数很不一样。
到于不回车不行,那是因为输入是行缓冲的,直到读到回车,程序才开始处理。否则就是一直等待输入。
max=c 不能改为 max=getchar() 否则岂不是又要再读一个字符了。至于结果为什么是 10,我还没仔细看。楼主如果还是研究不清楚,再回帖问呗。
2012-09-05 00:35
mfs111116
Rank: 2
来 自:山东烟台
等 级:论坛游民
帖 子:28
专家分:38
注 册:2012-8-22
收藏
得分:0 
嗯,感谢,慢慢再研究呗
2012-09-10 23:21
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 

梅尚程荀
马谭杨奚







                                                       
2012-09-11 14:57
快速回复:求解某个语句的意思,及其用法。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018652 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved