免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3580 | 回复: 16
打印 上一主题 下一主题

[C] 刚学C,运算规则不太明白,请大家不吝赐教:) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-21 18:27 |只看该作者 |倒序浏览
int i=0;
i=i++;
printf("%d\n", i);
输出结果为0

int i=3;
i=(i++)+(i++)+(i=100);
printf("%d\n", i);
运算结果是108.

int i, a=2;
i = (++a) + (++a);
printf("a = %d, i = %d\n", a,i);
输出为:a = 4, i = 8

我用的是gcc 3.4.6

头大ing
能详细讲解一下运算过程吗?
Thank you in advance~

[ 本帖最后由 iSolary 于 2008-5-21 18:29 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-05-21 18:37 |只看该作者

回复 #1 iSolary 的帖子

以前有类似的帖子 请参考

但是这种做法是不提倡的

论坛徽章:
0
3 [报告]
发表于 2008-05-21 21:27 |只看该作者
确实,实际编程中没有用处。没有谁这么写代码,可维护性差。
提示你:
算式是从左到右还是其他什么顺序开始计算,然后结合递增或递减运算符的计算顺序原则解题

论坛徽章:
0
4 [报告]
发表于 2008-05-21 22:28 |只看该作者
俺都学了10年了,也没有搞懂。
省省吧,记住先乘除后加减就可以了,想不起来就加括号;
把时间用在该用的地方。

论坛徽章:
0
5 [报告]
发表于 2008-05-21 22:31 |只看该作者
NNGX,越想越生气,都TMD谁开始这么写程序的。
几乎每个新手都要浪费几个小时在这上面。
怪不得软件开发和维护费用年年攀新高。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2008-05-21 22:43 |只看该作者
原帖由 mymtom 于 2008-5-21 22:31 发表
NNGX,越想越生气,都TMD谁开始这么写程序的。
几乎每个新手都要浪费几个小时在这上面。
怪不得软件开发和维护费用年年攀新高。

不只浪费几个小时

论坛徽章:
0
7 [报告]
发表于 2008-05-21 22:44 |只看该作者

论坛徽章:
26
卯兔
日期:2014-12-02 13:53:28射手座
日期:2015-03-22 23:40:50午马
日期:2015-03-22 23:41:25寅虎
日期:2015-03-22 23:41:41亥猪
日期:2015-03-22 23:42:22戌狗
日期:2015-03-22 23:42:51酉鸡
日期:2015-03-22 23:43:29申猴
日期:2015-03-22 23:43:51未羊
日期:2015-03-22 23:44:15子鼠
日期:2015-03-22 23:45:11丑牛
日期:2015-03-22 23:45:32辰龙
日期:2015-03-22 23:45:53
8 [报告]
发表于 2008-05-22 09:30 |只看该作者
不应该把时间浪费在这种问题上面。

论坛徽章:
0
9 [报告]
发表于 2008-05-22 09:39 |只看该作者
这种问题看过好几遍了

论坛徽章:
0
10 [报告]
发表于 2008-05-22 09:44 |只看该作者
其实 就是 先引用 后增值 i++;
               先增值 后引用 ++i;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP