书中问题那位大哥来解答下谢谢了本人新人
发表在C语言图书答疑 2012-02-28
是否精华
版块置顶:
i++,i++这个逗号表达式不应该是最右面的值么?最右面的应该是i++也就是说最后的表达式的值就等于i的值但是i的值却是i+1  为啥又变成i+2了、、、、C语言从入门到精通第145也icount那个变量的结果、、、和前面介绍的逗号表达式不一样   很费解希望各位大哥解答下  本人已经想了将近一个半小时了、、、
分享到:
精彩评论 3
C语言
学分:0 LV1
TA的每日心情
无聊
2021-11-12 22:00:04
2012-02-29
沙发
是第二个表达式的值,第二个表达式的值是3
你不理解的是++不是 ,
a=3,b=1;
b=a++*5+b;
相当于
a=3,b=1;
b=a*5+b;
a=a+1;
因此b=16
------------------
a=3,b=1;
b=a++*5+b;
相当于
a=3,b=1;
a=a+1;
b=a*5+b;
因此b=21
----------------------
以上两组运算中a的值都是4


_________________________
i=3;
a=(i++,i++);
相当于
a=i,i;
i=i+1;
i=i+1;
最后a=3;i=5

小健_mrkj
学分:0 LV1
TA的每日心情
奋斗
2021-04-25 19:29:54
2012-03-01
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
是第二个表达式的值,第二个表达式的值是3
你不理解的是++不是 ,
a=3,b=1;
b=a++*5+b;
相当于
a=3,b=1;
b=a*5+b;
a=a+1;
因此b=16
------------------
a=3,b=1;
b=a++*5+b;
相当于
a=3,b=1;
a=a+1;
b=a*5+b;
因此b=21
----------------------
以上两组运算中a的值都是4


_________________________
i=3;
a=(i++,i++);
相当于
a=i,i;
i=i+1;
i=i+1;
最后a=3;i=5


[/FIELDSET]

回复:为什么第二个和第一个代码一样的结果却不一样 、、到底我们该怎么去看 去解释这个代码
  
小文_mrkj
学分:0 LV1
TA的每日心情
第一天
2021-04-24 06:38:25
2012-03-01
地板
i++与++i的区别在于前者先运算在进行i=i+1;而后者是先进行i=i+1,然后在运算例如:
a=3,b=2;
b=a++*b;
此时
b=6;
运算完之后,在进行a++;
此时的a=4;
当a=3,b=2;
如果要是这样写的话:
b=++a*b;
先执行++a,a的值等于4
然后在计算
此时b=8;
首页上一页 1 下一页尾页 3 条记录 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经营性网站备案信息 营业执照