| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:c 语言数据结构的课程设计
只看楼主 加入收藏
爱海松涛
Rank: 3Rank: 3
来 自:安徽合肥
等 级:论坛游侠
帖 子:120
专家分:197
注 册:2011-2-25
结帖率:83.33%
收藏
已结贴  问题点数:40 回复次数:3 
c 语言数据结构的课程设计
我需要做的是重言式的判别,其中运算符优先级这个函数不懂,希望各位大侠可以给我解释一下,小弟非常感谢。。
char OPTRCHART[7][7]=                  //此举是为了后面的优先级考虑
{
    ' ','|','&','~','(',')','#',
    '|','>','<','<','<','>','>',
    '&','>','>','<','<','>','>',
    '~','>','>','>','<','>','>',
    '(','<','<','<','<','=','>',
    ')','>','>','>','>','>','>',
    '#','<','<','<','<','<','='
}; 解释一下。。
搜索更多相关主题的帖子: 课程 优先级 
2012-06-06 09:25
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:40 
假设有两个运算符(算数运算符不考虑):A = '(', B = '(',A,B相继出现,即在一个表达式里:
1+2*((3-1)*(2+3))有A,B相继出现,那么如何判断A,B的优先级呢?
通过一个函数,先查OPTRCHART表格的行,若某行的第一个元素与A相等,那么跟A比较的所有运算符的优先级都在这行可以找到,
显然,找到了第5行(第1行开始),那么再在第一行里找到与B相等的那一列,通过这两次查找就能得出两个运算符的优先级:
显然,在第一行的第5列(第1列开始)找到与B相等的运算符,那么OPTRCHART[4][4]对应的字符'<'就是两个运算符的优先级比较结果。
即: A<B,A的优先级比B小,先计算B的。
2012-06-06 18:11
爱海松涛
Rank: 3Rank: 3
来 自:安徽合肥
等 级:论坛游侠
帖 子:120
专家分:197
注 册:2011-2-25
收藏
得分:0 
谢谢一楼兄弟的解释。。
2012-06-07 09:06
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
以下是引用爱海松涛在2012-6-7 09:06:52的发言:

谢谢一楼兄弟的解释。。

加分啊 亲~
2012-06-07 09:09
快速回复:c 语言数据结构的课程设计
数据加载中...
 
   



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

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