c语言中,x=6,表达式(x+=x/=x%=4)的值是多少?为什么?

main(){intx=6;printf("x=%d",x+=x/=x%=4);getch();}为什么在我的Windows7环境下的WinTC2.0下编译链接运行的结果... main()
{
int x=6;
printf("x=%d",x+=x/=x%=4);
getch();
}
为什么在我的Windows 7环境下的Win TC 2.0下编译链接运行的结果为6?这是什么意思?帮我看看错在哪里?
展开
 我来答
o小脚冰凉dbf88
2015-09-24 · TA获得超过377个赞
知道小有建树答主
回答量:93
采纳率:75%
帮助的人:33万
展开全部
x=2;
1先计算x%=4;相当于x=x%4这个时候x=2了。

2再计算x/=x%=4;这个时候x=2,且x%=4;这一块也等于2了,所以x/=2; x=x/2; x=2/2;x=1;
3后计算x+=x/=x%=4;前面的一部分(x/=x%=4;)=1了!也把X赋1了!所以x+=1相当于x=x+1;相当于x=1+1=2了!
注意你算的时候一定不要忘了这一点:x+=4的意思是x=x+4;实际上每算一次都是要给X赋一次值的,你不能把X=6直接给代入全式,X的值随着计算而变化的!
vansi1989
2015-09-24 · TA获得超过163个赞
知道答主
回答量:41
采纳率:0%
帮助的人:29.6万
展开全部
结果的确是2,原因如下:运算顺序是从右往左,等号右边的运算优先级高于左边的,因此先进行
步骤1:x%=4,此时x=2。步骤2:x/=2;所以得出x=1 。步骤3:x+=1,得出x=2 。
注意的是x的值在一直变化,别再把6带入就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fc027fc
2015-09-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:766万
展开全部
#include <stdio.h>
main()
{
int  x=6;
printf("x=%d",x+=x/=x%=4);
getchar();
}

追问

为什么在我的Windows 7环境下的Win TC 2.0下编译链接运行的结果为6?这是什么意思?帮我看看错在哪里?

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
625604619wang
2015-09-24
知道答主
回答量:12
采纳率:0%
帮助的人:1.5万
展开全部
x=2
x=x+x x=12

x=x/x x=1
x=x%4 x=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式