A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq230546 中级黑马   /  2016-5-15 00:20  /  866 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

main()
{int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;
printf("%d%d%d",a,b,c);
}
输出啊a,b,c为8 8 9
为什么求解?
ab,c为8 8 10
搞错了

2 个回复

倒序浏览
help MEhelp MEhelp MEhelp MEhelp ME
回复 使用道具 举报
--x 是 9 y++ 是 9
所以有:--x == y++ 到这一步 (x 的值为9 y 的值为10)把 a = --x 相当于 a = 8 (此时 x == 8);:后面的 ++y 没有执行(y == 10 不变) b = x++ ; b = 8 (x == 9) c = y 相当于 c = 10 ;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马