让我们考虑在C或C ++中,有一个类似的语句:
c = a+++b;
那这行是什么意思?
好吧,让a和b分别保持2和5。该表达式可以视为两种不同的类型。
c =(a ++)+ b
c = a +(++ b)
有后递增运算符和前递增运算符。这取决于它们的使用方式。
有两个基本概念。优先级和关联性。现在,如果我们从左到右检查表达式,那么结果将是这两个。
c =(a ++)+ b→2 + 5 = 7
c = a +(++ b)→2 + 6 = 8
现在让我们检查一下编译器采用了哪个选项:
#include <iostream> using namespace std; main() { int a = 2, b = 5; int c; c = a+++b; cout << "C is : " << c; }
输出结果
C is : 7
这里采用第一个选项。