为啥同一个代码,在不同的地方运行结果不一样啊?而且vs的跟我书上例题的结果不一样,网站上的反而一样,求解惑

#include
using namespace std;
int main()
{
// 除运算符"/"
cout << "除运算符/" << endl;
cout << "1/2=" << 1 / 2 << endl;
cout << "1.0/2=" << 1.0 / 2 << endl;
//取余运算符“%”
cout << "\n取余运算符%" << endl;
cout << "17%10=" << 17 % 10 << endl;
//cout << "17.0%10=" << 17.0 % 10 << endl; //错误
// 前后置自增运算符"++"
cout << "\n前后置运算符++" << endl;
int i = 2, j = 3;
// i++;++j;
cout << "i:" <
cout << "j:" << j<< ",++j:" <<++j<< endl;
return 0;
}

img

img

这种叫未定义行为,编译器不同,执行顺序不同,结果会不一样。
比如VS里,cout是从右到左计算表达式的值,缓存起来,最后才从左到右输出。