不一样的C语言软件输出结果不同

[复制链接]
查看11 | 回复3 | 2013-10-10 22:40:15 | 显示全部楼层 |阅读模式
只是不同编译器表达式的实现原理不同,C语言不可能规定的面面俱到,有些东西写编译器的人还是有很大选择空间的,完全看写编译器的人表达式的实现方法,这种方法不同就很容易引起 有++运算的表达式算出不同的值。。。。
在表达式中出现++或-- 是不好的,因为他改变了参与运算变量的值,并不是常规的表达式运算,所以如果你有良好的变成习惯就不会写这种表达式,你可以看各种源码,除了教材上(坑人的),真正使用的源码不会在表达式中出现这么多++--运算,顶多会出现++a=表达式这样的形式,没人愿意去改变表达式中每一个变量的值,如果你想改,为什么不单独起一行 。。。。
这种原因应该是和编译器的表达式编译原理不同导致的,区别你只要查编译后的汇编码...
回复

使用道具 举报

千问 | 2013-10-10 22:40:15 | 显示全部楼层
针对同一变量的 ++,-- 这样的运算符同时多次出现在一个表达式中的执行表现没有标准定义,不同的编译器会有不同的运行结果。所以不要在真正的程序代码中使用这样的语句。...
回复

使用道具 举报

千问 | 2013-10-10 22:40:15 | 显示全部楼层
6+7+9=22根据语法规则应该是22...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行