问题描述:
#include <iostream>
using namespace std;
int main()
{
int a,b;
a=2;b=3;++a;
cout<<a++<<a<<'\t'<<(b++)<<'\t'<<a+b<<endl;
return 0;
}
为什么结果是3336啊,ab不是自加了吗,为什么在cout语句中的值还是没变啊
a=3是因为我cout语句之上还有一个++a语句啊,去掉++a之后,结果变成2236了。。。
问题解答:
怎么没变
不是 3336吗?,你又没有加换行endl
cout<<a++ << a<<'\t'<<(b++)<<a+b<<endl;
a++ 相当于a = a+1 (a 初值为2,自加1当然为3)
a 因为上面的a++修改了本身的值,所以a = 3)