A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叮当 中级黑马   /  2014-9-4 20:23  /  1821 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 叮当 于 2014-9-13 22:51 编辑

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

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

这式子到度哪里出错了?

这式子到度哪里出错了?

10 个回复

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

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

明白了,谢谢
回复 使用道具 举报
个人觉得有括号++在前和在后效果就一样了,()优先级高,问题可能就在这
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马