免费注册 查看新帖 |

Chinaunix

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

[C] 关于不同语言解释 i=i++的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-27 16:05 |只看该作者 |倒序浏览
国内一个IT网站的商城内有一件衣服  上面的印的是  i=i++;  其名曰 超越自己

当时我心想  太垃圾了 i++ 不就足以表达超越自己了吗? 后来发觉不对,先用C#写了一遍  int i=0;i=i++;    打印 结果i=0.   同样的代码用C写  i=1.
先不说这件文化衫想用哪种语言解释这段代码,  我的疑惑是为什么不同编译器对这段代码的解释为什么不一样.

也不知道这个文化衫的作者是NB还是SB.

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2009-10-27 16:19 |只看该作者
这贴也发

论坛徽章:
0
3 [报告]
发表于 2009-10-27 18:38 |只看该作者
原帖由 churchmice 于 2009-10-27 16:48 发表
implementation defined
标准里面没说这么骚逼的写法怎么算的


愤青

论坛徽章:
0
4 [报告]
发表于 2009-10-27 18:56 |只看该作者
原帖由 1jjk 于 2009-10-27 18:38 发表


愤青


小愤青

论坛徽章:
0
5 [报告]
发表于 2009-10-27 19:48 |只看该作者
自我增加 然后赋给自己

论坛徽章:
0
6 [报告]
发表于 2009-10-27 20:36 |只看该作者
我的疑惑是为什么不同编译器对这段代码的解释为什么不一样.


1、本来就没有理由完全一样,你自己试试看,sizeof('0') 在 C 语言和 C++ 当中的结果也是截然不同的。
2、这个表达式两次改变 i 的值,结果由实现决定。

论坛徽章:
0
7 [报告]
发表于 2012-11-27 15:05 |只看该作者
我现在集中回复我以前发的SB帖子,我错了,我n年前太菜了,让大家见笑了



看2楼,你个菜b
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP