| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:有一点看不懂关于四则运算
只看楼主 加入收藏
Autow
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
有一点看不懂关于四则运算
//添加内容    较复杂的四则运算
int oopcalc::mixed()
{
    int rtn=mul();
    while(shizi[pos]=='+'||shizi[pos]=='-')
    {
        int op=shizi[pos++];
        int opr2=mul();
        if(op=='+')
            rtn+=opr2;
        else
            rtn-=opr2;
    }
    return rtn;
}
int oopcalc::mul()
{
    int rtn=number();
    while(shizi[pos]=='*'||shizi[pos]=='/')
    {
        int op=shizi[pos++];
        int opr2=number();
        if(op=='*')
            rtn*=opr2;
        else
            rtn/=opr2;
    }
    return rtn;
}
int oopcalc::number()
{
    int rtn;                                                    //这里开始看不懂
    if(shizi[pos]=='(')
    {
        pos++;
        rtn=mixed();
        pos++;
    return rtn;                                              //到这里   到底什么意思
    }
    rtn=atoi(shizi+pos);
    while(isdigit(shizi[pos]))
        pos++;
    return rtn;
}


void main()
{
    oopcalc a ;
    a.menu();
}


搜索更多相关主题的帖子: number return 
2014-04-12 08:44
李_小_辉
Rank: 2
等 级:论坛游民
帖 子:2
专家分:23
注 册:2014-4-11
收藏
得分:20 
Number函数是返回第一个或下一个数字,并将pos移至下一个非数字;如果遇到括号就进行下一级递归,即子级递归。。
2014-04-12 09:46
快速回复:有一点看不懂关于四则运算
数据加载中...
 
   



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

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