黑马程序员技术交流社区
标题:
运算时的优先级问题
[打印本页]
作者:
陈世伟
时间:
2012-4-6 10:43
标题:
运算时的优先级问题
int a=5,b=10,c;
c=a+++b;
如果这样书写,是应该理解成c=(a++)+b,还是c=a+(++b)
作者:
★心秒★
时间:
2012-4-6 11:01
我觉得这个问题你自己绝对可以自己解决的…… 试试就知道了啊!!!! 现在就打开你的Studio,几分钟就搞定了哦!!
作者:
蒋敦方
时间:
2012-4-6 11:06
从左至右,先++,后+。
作者:
刘冬晓
时间:
2012-4-6 11:35
其实都不是,它的结果应该是a+b之后的值,等于15。
作者:
徐刚
时间:
2012-4-6 13:30
是c=(a++)+b,一元运算符优先级高于二元运算符。
作者:
曾驰文
时间:
2012-4-6 15:04
纠结 这个愚蠢问题干嘛 写程序时候 不知道 优先级 就用() 不过这个题目的答案是15
作者:
郭耀强
时间:
2012-4-6 15:46
蒋敦方 发表于 2012-4-6 11:06
从左至右,先++,后+。
不是这样的,你这样运算其实还是c=a+b;如果你这样写c=++a+b的话,那么就是a++先运算,然后在和b运算,就是说+的运算优先级大于++的运算优先级
作者:
黄国钢
时间:
2012-4-7 22:08
在c#里要看你的书写格式了
int a = 5, b = 10, c,d;
c = a++ + b;//a++、+、b之间有明显的空格,先a++后+b
c = a + ++b;//a、+、++b之间有明显的空格,先++b后与a相加
复制代码
从上面很容易看出优先级,在visual studio里写代码都是有格式的,容易判断,如果在记事本这类编辑器里不容易判断的话就加()确定优先级
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2