C语言逗号运算符的问题!

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:53:01
因为要参加自学考试,看《高级语言程序设计》有一个问题不明白,向各位请教,双引号内为书本内容:
“设整型变量a b均为2
d=a--,e=d--,f=--e
结果a为1,d为1,e为1,f为1,表达式的值为1(f=--e的值)”

我不明白为什么e为1?有谁能详细告诉我吗?

d=a-- d=2-1 d为1

e=d-- e=1-1 e为0 ????

f=--e

谢谢!

你的理解是错的,
d=a--, d=2,a=1,因为是后--先把a的值给d再--
e=d--, e=2,d=1, 原因同上
f=--e, f=1,e=1,因为是前--,--后才把 e的值给 f

因为d--的意思就是d=d-1而e=d所以e=d-1
其他的原因也是一样的~~

d=a--,e=d--,f=--e
d=a--,a为2,先把值2赋给d(此时d=2),然后自减为1即a=1,
e=d--,同样的道理,d先把值2赋给e,然后自减为1,
.......

自加自减你理解得还不够透,好好看看C程序设计,自己多琢磨琢磨