分享
 
 
 

运算顺序与 运算符优先级和结合性

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

用户:走尽天涯路)

==================================================

消息组:群/校友录()

==================================================

消息类型:聊天记录

==================================================

Ricky...

“当一个运算对象左右两侧的运算符的优先级相同时,则由运算符的结合性,又称结合方向或互联性确定运算次序”何解?

2

我不知道你现在看的是什么书,不过我觉得C++Primer很好,你可以先多看看这本书

2004-12-18 19:35:06

书没有错,但是通常好书讲得比较透彻,并且会有很好的例子

2004-12-18 19:34:34 77)

哦...看来我的书说错了?

2004-12-18 19:37:35 77)

刚才走尽天涯路说“结合性 是判断 谁属于谁”是这样吗?

2004-12-18 19:38:17 13)

C语言中只有少数几个运算符是右结合的,所以当操作数左右两边运算符优先级相同的情况下,多是先算左边的……简单地说:和算术是一样的

2004-12-18 19:39:01 Ricky()

A+B+C,先算A+B,然后结果+C,不用弄得太复杂,需要注意的应该是优先级

2004-12-18 19:40:48 走尽天涯路(

没错 前提是不要写 二义性代码

2004-12-18 19:40:57 走尽天涯路(

[:D]

2004-12-18 19:41:19 Ricky(

如果再不能保证自己的记忆力足够好的时候,加上括号……

2004-12-18 19:42:33 走尽天涯路(7)

要看看 那本书上是怎么说的吗

2004-12-18 19:42:38 学C新手(7)

要~~~~

2004-12-18 19:45:48 走尽天涯路(

a= b+c+d ; 实际情况是 c标准 并没有对此做出明确的规定,在某些平台又或者某些情形下,可能编译器是这样的:

a = b+(c+d);

2004-12-18 19:46:22 走尽天涯路()

类似的 例子:

a = f( ) + g( );

2004-12-18 19:47:07 走尽天涯路()

编译器 并不保证 f( ) 一定在 g( ) 之前 被求值。

2004-12-18 19:48:51 Ricky(

第一个不正确,算术运算符都是左结合的,所以,一定是先b+c,然后结果+d

2004-12-18 19:49:21 学C新手()

[:L]书也能错啊?

2004-12-18 19:49:48 Ricky(1)

当年谭浩强的书就有很多错误

2004-12-18 19:50:20 走尽天涯路()

int i = 0;

while ( i<10 )

arrayTarger[i] = arraySource[i++];

是想:

while ( i<10 )

{ arrayTarget[i] = arraySource[i];

++i;}

2004-12-18 19:51:39 Ricky()

其实只有单目运算符、条件运算符还有赋值是右结合的,其他都是左结合

2004-12-18 19:52:32 走尽天涯路()

虽然i++返回自增前的i值,但问题是某些平台的编译器并不能保证在i自增之前执行取址操作:

arrayTarger[i]

2004-12-18 19:53:37 走尽天涯路()

Ricky 那个例子 是书上专门提出的

2004-12-18 19:53:59 走尽天涯路(

用的是 c99标准吧

2004-12-18 19:54:06 Ricky(1)

呵呵,如果你不介意的话可以看看Lippman的Essential C++

2004-12-18 19:54:43 走尽天涯路()

[:'(]没哪本书,还要去找啊

2004-12-18 19:55:20 学C新手()

你手里好歹有本编译原理,我还要买我这里买书特麻烦

2004-12-18 19:57:05 走尽天涯路()

最后一个例子是89年的 ,不好意思

2004-12-18 19:58:11 走尽天涯路(4)

这本书偏向于 c不知道 c++ 和c一样不

2004-12-18 20:04:19 走尽天涯路(

怎么都不说话了

2004-12-18 20:04:31 走尽天涯路(

[?]

2004-12-18 20:04:46 学C新手(

[:8]我现在更搞不清楚结合性了...

所谓从右向左结合是指运算符和右边的运算对象结合吗?a**p等价于a*(*p)?????

2004-12-18 20:05:18 走尽天涯路(

等啊

2004-12-18 20:05:47 Ricky(

这个不是运算符,是类型定义,是另外一回事情。

a**p 意味着 p是一个指针,是指向a*类型的指针

2004-12-18 20:05:58 走尽天涯路(

其实我觉得 这本书的意思是 结合性 和运算顺序是两码事

2004-12-18 20:06:31 Ricky(

同样的道理

const int * p,p是指针,指向const int类型

int * const p,p是指针常量,指向int类型

2004-12-18 20:06:39 走尽天涯路(

有联系 但不同

2004-12-18 20:06:58 Ricky(

int const * p等同于const int *p

2004-12-18 20:07:07 天堂没有雪(

哈哈

2004-12-18 20:07:15 Ricky(

在实际编程中,遇到的更多是优先级问题

2004-12-18 20:07:20 天堂没有雪(

a**p爽吧

2004-12-18 20:07:35 Ricky(

避免写出容易被误会的代码就好了

2004-12-18 20:07:35 学C新手(

[:8]不爽

2004-12-18 20:08:23 走尽天涯路(

Ricky[:)]

2004-12-18 20:08:42 /kun流星雨(

[?]

2004-12-18 20:08:45 Ricky(1

错了请大家指正,:)

2004-12-18 20:08:57 学C新手(

a**p 意味着 p是一个指针,是指向a*类型的指针

-----------------------------

int *p;

a*(*p)吧?

2004-12-18 20:09:50 天堂没有雪(

[strong]

7(走尽天涯路) 20:06:53

这是结合性问题

学C新手) 20:11:09

那位大哥重新把结合性的概念定义一下?我晕死了~~~~~

( 流星雨) 20:12:11

听听就好

(Ricky) 20:12:12

Sorry,这个就是表达式了,但是同样没有什么疑惑的啊,很明显就是a*(*p),因为取地址运算符的优先级别比算术运算符乘要高

(走尽天涯路) 20:08:41

那本书上说的例子是在 优先机相同情况下 运算顺序的问题

当然不同时 运算顺序 和结合性 与 优先级 有密切关系

(学C新手) 20:14:39

Ricky讲讲结合性吧?我整个的概念被颠覆了

(分别说下一元和二元)

Ricky) 20:15:37

结合性本来是个很简单的东西,你自己把它想得太复杂了,想想看算术中是怎么计算表达式的。

(天堂没有雪) 20:18:24

你遇到过:a+b*c这样算吗(a+b)*c就按我们小学数学里的算就行了,干吗搞那么复杂,有些东西是跟你用的环境有关的

(Ricky) 20:19:24

除了单目运算符、条件运算符、赋值运算符以外,其他都是从左到右的。a+b-c,就是先加后减,定义int **p,那么**p = 5;就是*(*p) = 5,先取p指向的那个int指针,然后取该指针的内容,因为*是单目运算符,是先右后左的

(学C新手) 20:22:05

所谓结合性应该就是把运算符和运算对象结合起来?

(Ricky) 20:23:42

这里有一个"*",你知道它是乘法还是取内容吗?都要放到具体环境里面的,一开始写代码,吃不准就老老实实添加括号

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有