发布网友 发布时间:2023-11-19 16:52
共5个回答
热心网友 时间:2024-12-12 06:56
答案是24.
++j的结果是j的引用,C++的++运算符重载也是这个语义。
int q = (++j) + (++j) + (++j);
先进性3次++j,在对对3个j相加。所以结果是24 ,
Visual C++11.0编译一下代码:
#include <iostream>
using std::cout;
using std::endl;
int main() {
int j=5;
int q = (++j)+(++j)+(++j);
cout << q << endl;
system("pause");
}
结果:上图、
热心网友 时间:2024-12-12 06:56
q=21吧???热心网友 时间:2024-12-12 06:57
首先j自加变为6,然后在前一个加号表达式中先算括号中的东西,于是j在自加一次变为7,这时注意了,这时并不是继续做下一个自加,而是先把前面那个加号算出来,就是两个7相加为14,然后j在自加变为8,然后14+8=22。热心网友 时间:2024-12-12 06:57
呵呵,我也刚学c语言,我感觉q=21 啊,呵呵,我试了试确实等于22,我凌乱了,肯定有规定。同志,你会了嘛?给解释解释!热心网友 时间:2024-12-12 06:58
q=(++j)+(++j)+(++j)