C++中,++和=的优先级是否和编译器有关?

C++中,j最后输出为100?为什么?
++和=的优先级是否和编译器有关?

 #include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
    int j = 0;
    for (int i = 0; i< 100; i++)

    cout << j<< endl;
    return 0;
}

开什么玩笑,j都没动过,难道不一直是0?

C++中,++和=的优先级是否和编译器有关?无关 ++的优先级>=
C++中,j最后输出为100? j的值应该一直为1

这个问题好像本身有问题吧。。。j的值都没变过,你说的是i?如果说的是i,i的值最后也不会是100,而是99

首先优先级指定和编译器无关,++的一定是大于=的,其次楼主的代码不完整吧。。

代码不完整吧,单说优先级的话,++优先级大于=的

=是单目运算符,=是赋值运算符,单目运算符优先级大于赋值运算符

实在不好意思,main函数中的空行少了一句:j=j++;
完整代码如下:

#include
#include
using namespace std;

int main()
{
int j = 0;
for (int i = 0; i < 100; i++)
j=j++;
cout << j << endl;
return 0;
}

我用visual studio 2013版本编译运行出来的结果是j=100,但是用网上在线C++编译器计算出来是0

 #include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
    int j = 0;
    for (int i = 0; i < 100; i++)
        j=j++;
        cout << j << endl;
    return 0;
}