复合赋值运算
发表在C语言图书答疑 2011-08-22
是否精华
版块置顶:
c语言学习手册中5.8章节中,我省略写一下
  int a;
  printf("请输入一个数值: ");
  scanf("%d",&a);
  a+=a*=a/=a-6;
  printf("%d",a)
输入12
我测试结果为2,但教材上是8.后来还有个例子是输入5,结果为8,教材和我测试的是一样的。但教材解释的方法在习题中得不到8,所以能详细解释一下。拜托了。谢谢。
分享到:
精彩评论 4
铁道部专家
学分:0 LV1
TA的每日心情
开心
2021-08-05 09:37:36
2011-08-22
沙发
读者您好: 
   您想说明什么?您已经把我绕迷糊了!请说明
cdw
学分:0 LV1
TA的每日心情
?
2021-08-02 14:15:00
2011-08-22
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好: 
   您想说明什么?您已经把我绕迷糊了!请说明
[/FIELDSET]

回复:
  你好,原谅我说话不够简洁,我将书中的例子抄下来。
#include <stdio.h>
 int main()
{int a;
printf("请输入一个数值:
");
scanf("%d",&a);
a+=a*=a/=a-6;
printf("其运算的结果为:%d ",a);
return 0;}            输入12,结果为8。怎么来的我不明白,如果将公式改为a+=a*=a/=a-6,那么结果又是多少呢。书中给的答案是8.帮我逐步解释一下。谢谢。
cdw
学分:0 LV1
TA的每日心情
?
2021-08-02 14:15:00
2011-08-22
地板
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好: 
   您想说明什么?您已经把我绕迷糊了!请说明
[/FIELDSET]

回复:
  你好,原谅我说话不够简洁,我将书中的例子抄下来。
#include <stdio.h>
 int main()
{int a;
printf("请输入一个数值:
");
scanf("%d",&a);
a+=a*=a/=a-6;
printf("其运算的结果为:%d
",a);
return 0;}            输入12,结果为8。怎么来的我不明白,如果将公式改为a+=a*=a/=a-6,那么结果又是多少呢。书中给的答案是8.帮我逐步解释一下。谢谢。

[/FIELDSET]

回复:将我公式改为a+=a*=a/=a-3,输入5,那么结果又是多少呢。书中给的答案是8.帮我逐步解释一下。抱歉,上面的我抄错了。  
学分: LV1
2011-08-23
4L
您好:a+=a*=a/=a-6 从右向左计算
1.  先计算a/(a-6) a为2
2.然后计算a*a 为4
3.第三步相加 为8
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照