黑马程序员技术交流社区

标题: 这式子到度哪里出错了? [打印本页]

作者: 叮当    时间: 2014-9-4 20:23
标题: 这式子到度哪里出错了?
本帖最后由 叮当 于 2014-9-13 22:51 编辑

到底哪里出错了,一直没有找到原因

为什么会出现叹号2014-09-04 10.06.21.png (16.5 KB, 下载次数: 34)

这式子到度哪里出错了?

这式子到度哪里出错了?

作者: himym2005    时间: 2014-9-4 20:39
不用纠结这个问题,是编译器自己的问题,换个编译器也许就没这个警告了。另外你这种写法不提倡啊。
作者: 王绍明    时间: 2014-9-4 20:49
我想可能是a不能放在2个+号之间  你试一下吧
在定义一个int c=10;
int b=c+(a++)+(++a)这样也试一下 看看情况在分析
作者: 小月格子猫    时间: 2014-9-4 20:57
第一: 这种语法是在C语言规范中没有定义的,
         gcc编译开启-Wall会提示:警告:‘a’上的运算结果可能是未定义的 [-Wsequence-point]
第二:请参考《C语言程序设计_现代方法(第2版)》
        
第三:如果非要清楚原理请看反汇编
      
作者: fouraa    时间: 2014-9-4 21:35
这是什么 语言?c++?
作者: zhuiyi007    时间: 2014-9-5 11:13
小月格子猫 发表于 2014-9-4 20:57
第一: 这种语法是在C语言规范中没有定义的,
         gcc编译开启-Wall会提示:警告:‘a’上的运算结果可 ...

回答的好专业啊~~
作者: 陨石    时间: 2014-9-5 11:24
同一个表达式里,同一个变量,从复使用++ ,它会不懂倒底是直接++两次之后再进行计算,还是先+1次再运算然后再+1次,或是都计算完了再++两次,或是计算一半++2次再计算另一半,总之此行为未定义。
作者: Rainyday    时间: 2014-9-5 11:52
编译器问题
作者: 超越自己    时间: 2014-9-5 12:20
书写格式有问题?
作者: 叮当    时间: 2014-9-11 20:35
小月格子猫 发表于 2014-9-4 20:57
第一: 这种语法是在C语言规范中没有定义的,
         gcc编译开启-Wall会提示:警告:‘a’上的运算结果可 ...

明白了,谢谢
作者: ★彬★卍囧神    时间: 2014-9-13 20:22
个人觉得有括号++在前和在后效果就一样了,()优先级高,问题可能就在这




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2