按照输出格式写出以下程序的运行结果 main() { int a,b,c; int x=8,y=10; a=(++x==--y) ? --x:++y;

b=x++;c=++y;printf("a=%d,b=%d,c=%d\n",a,b,c);}求详解... b=x++;
c=++y;
printf("a=%d,b=%d,c=%d\n",a,b,c);}
求详解
展开
 我来答
黒木4312
推荐于2018-03-13 · TA获得超过788个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:497万
展开全部
够详细了吧,不懂再问……
#include "stdio.h"
int main()
{
int a,b,c;
int x=8,y=10;
a=(++x==--y)?--x:++y;//如果9==9,则a=--x,注意此时x=9,得到a=8 ,最后x=8,而++y没有运行到,故y=9
b=x++; //b=8,运行后x=9
c=++y;//c=10
printf("a=%d,b=%d,c=%d\n",a,b,c);//输出a=8,b=8,c=10
}
元初晴014
2011-06-27 · TA获得超过2174个赞
知道小有建树答主
回答量:589
采纳率:0%
帮助的人:609万
展开全部
++在数据前,则在相关运算之前进行++。++在数据后,则在相关运算后进行++。
a = (++x==--y)?--x:++y;
先对x加1,再对y加1. 然后判断x等于y吗? 若等于, 对x减1,然后将x赋值给a。若不等于,对y加1,然后将y赋值给a。

b=x++;
将x赋值给b,然后对x++。
c = ++y;
先将y加1,再将y赋值给c。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a399495
2011-06-27 · TA获得超过243个赞
知道答主
回答量:48
采纳率:100%
帮助的人:71.1万
展开全部
int a,b,c;
int x=8,y=10;
a = ( ++x == --y ) ? --x:++y;
// ++x==--y是先将x递增,y递减再将x,y比较。
// x递增,y递减后,x = 9, y = 9。
// 所以判断结果为false。
// 所以a==--x。因为此时x已经递增为9了,
// 而这道式子是x先递减再赋给a,x=8
// 所以a=7。
b=x++;
// x先赋值再递增。此时x = 8。所以b = 8。
c=++y;
// y先递增再赋值给c。所以c=10。
printf("a=%d,b=%d,c=%d\n",a,b,c);
// 综上所述,输出结果为:a=7,b=8,c=10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
温和又爽口灬喜鹊k
2017-06-14 · TA获得超过515个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:152万
展开全部
b=x++;// b=x; x++;
c=++y;// y++; c=y;
给分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式