1
下面的代码的结果如何为2?如何评估前缀和后缀运算符的组合
int i=2,j; j=i++ + --i; cout<<j;
据评估--I第一,然后我++,但它应该是圆形,即(具有更高的优先级后缀增量应当首先执行)其他的方式,所以答案应4.
下面的代码的结果如何为2?如何评估前缀和后缀运算符的组合
int i=2,j; j=i++ + --i; cout<<j;
据评估--I第一,然后我++,但它应该是圆形,即(具有更高的优先级后缀增量应当首先执行)其他的方式,所以答案应4.
实际上,不,它是未指定+
的哪一边将首先被评估。由于这一点,并且因为这些操作对同一个变量起作用,所以您的程序具有未定义的行为。任何事情都可能发生。千万不要这样写代码。
发生了什么事不回答明显的愚蠢? – NathanOliver
@NathanOliver:哈哈只是测试你是否注意^ _ ^ –