int a,b,c; int x=2,y=4; a=(y=x++)?-y:++x; b=y++;c=x; printf("%d,%d,%d",a,b,c);

 我来答
edisonrush
2012-11-19 · TA获得超过554个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:185万
展开全部
程序输出 -2, 2, 3

a=(y=x++)?-y:++x; // 这条语句 等号右边为(y=x++)?-y:++x条件表达式, y=x++为赋值语句,赋值
//语句的值为等号右边,所以为3,非0。而y此时等于x 为2,那么 条件语句的计算结果为-y,也
//就 是a=-2,
b=y++; //由于++是后缀, 所以, b=y,然后 y=y+1; 所以 b = 2;
C=x; //由于之前 执行过x++,所以x的值为3, 所以 c为3

所以输出为 -2,2,3
达文西
2012-11-19 · TA获得超过179个赞
知道答主
回答量:165
采纳率:100%
帮助的人:71.2万
展开全部
希望楼主把这段代码自己动手敲到IDE(vc6或者VS)中去,跑一跑不就知道了么!学编程要动手敲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式