执行以下的程序段后,a= ,b= 。 int x

执行以下的程序段后,a=,b=。intx执行以下的程序段后,a=,b=。intx=3,y=2,a,b,c;a=((x==y++)?x--:y++);b=x++;啥意思,咋... 执行以下的程序段后,a= ,b= 。
int x执行以下的程序段后,a= ,b= 。
int x=3,y=2,a,b,c;
a=((x==y++)?x--:y++);
b=x++;
啥意思,咋做
展开
 我来答
风若远去何人留
推荐于2017-12-25 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450129
专业C/C++软件开发

向TA提问 私信TA
展开全部
先判断x==y++
先取值 再自加. 于是是判断 3==2 不成立. y自加为3.
执行后面一个y++; 先取值, 表达式值是3. y自加为4.
b=x++;先取值, b=3, x自加为4.
于是 a=3, b=3
天枰非官
2017-12-25 · TA获得超过2456个赞
知道小有建树答主
回答量:1620
采纳率:89%
帮助的人:255万
展开全部
3 3

x==y返回false,y+1.
a=y++,s是3
b是3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
imkarayi9d4f
2017-12-25 · TA获得超过1552个赞
知道小有建树答主
回答量:1164
采纳率:85%
帮助的人:602万
展开全部
#include <stdio.h>
int main()
{
int x=3,y=2,a,b,c;

//a=((x==y++)?x--:y++);
//b=x++;

//上面两组代码,相当于下面的代码 
if(x==y)
{
y++;
x--;
a=x;
}
else
{
y++;
y++;
a=y;
}
b=x;
x++;

//此时,因为变量c,没有预先初始化,所以为随机值。 
printf("a=%d , b=%d , c=%d , x=%d , y=%d",a,b,c,x,y);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式