vc++自加问题

发布时间:2024-11-08 17:11 发布:上海旅游网

问题描述:

#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)

热点新闻