main() { int x=10,y=9; a=(x--==y++)?x--:y++; b=x++; c=y; printf("a=%d,b=%d,c=%d/n",a,b,c)" } 10

1.请问这道题这个语句a=(x--==y++)?x--:y++;中x--==y++这个怎么比较啊10==9和9==10哪个对啊我是新手刚接触C语言还请高手指教2.老师说+... 1.请问这道题 这个语句 a=(x--==y++)?x--:y++;中 x--==y++ 这个怎么比较啊 10==9 和9==10 哪个对啊 我是新手刚接触C语言 还请高手指教
2.老师说++ -- 还有条件运算符? : 是右结合运算 可我看不出怎么右结合了啊?不像赋值运算很清楚的看到是右边赋值给左边 请高人指点
展开
 我来答
gyy67132
2013-01-22
知道答主
回答量:5
采纳率:0%
帮助的人:7503
展开全部
a=(x--==y++)?x--:y++是问号表达式,如果(x--==y++)为真,则a=后面的x--,否则a=y++
由符号运算法则可知(x--==y++)变为(10==9),false,但x变为9了,y变为10了,所以a=y=10,
x--,y++是先使用x,y值,再做自加自减,后面你搞了,不用太烦这个,不常用的
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式