c++ int a = 1;cout<<++a<<" "<<a<<endl;int b = 1;cout<<b++<<" "<<b<<endl; vc6.0的输出结果为2 1和1 1

inta=1;cout<<++a<<endl;cout<<a<<endl;intb=1;cout<<b++<<endl;cout<<b<<endl;输出又变为:2212为... int a = 1;
cout<<++a<<endl;
cout<<a<<endl;
int b = 1;
cout<<b++<<endl;
cout<<b<<endl;
输出又变为:
2
2
1
2
为什么是这样的呢?能否详细讲下cout和++的机理?(一知半解的亲就不要把答案往上写了)
展开
 我来答
匿名用户
2014-11-13
展开全部
a++ 是先返回a的值,再执行++运算。
++a 是先执行++运算,在返回a的值。

作为单独的语句,a++;与++a;并没什么区别
但是如果 a = 1
b = a++ ---> b = 1 a = 2
b = ++a ---> b = 2 a = 2

cout 和printf 基本是一样的,都是输出

int a = 1;
cout<<++a<<endl; // 这里是先执行++返回a a = 2
cout<<a<<endl; // 输出 a = 2
int b = 1;
cout<<b++<<endl; // 这里 现返回b b = 1 然后b++
cout<<b<<endl; // 输出 b = 2
zy1404
推荐于2016-09-22 · TA获得超过1387个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:477万
展开全部
c=++a 是先自增在使用值
++a 等价与
a++;
c=a;
c=a++ 是先使用值在自增
a ++ 等价与
int a = 1;
cout<<++a<<endl;
cout<<a<<endl;
int b = 1;
cout<<b++<<endl;
cout<<b<<endl;
c=a;
a++;
输出是2 2 1 2

输出是从右边开始输出,然后到左边
int a = 1;
cout<<++a<<" "<<a<<endl ++a 先更新a的值 ,因此 输出 2 1

cout<<b++<<" "<<b<<endl; b++ 后更新b的值 ,因此输出 1 1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栖凤婷
2014-11-13 · TA获得超过551个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:372万
展开全部
cout是输出流控制,这个没什么好讲的啊。你输出的结果和cout是没有关系的。
++ -- 这两个运算符。如果是在参数前,比如++a,那么表示先运算,然后再使用运算后的值。在参数后,比如a++,那么表示先使用数值,然后再进行运算,得出的新数值会在下一次被使用,而不是用于当前运算。例子就看楼下的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不愿相离
2014-11-13 · TA获得超过440个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:492万
展开全部
这和cout无关,++a是先执行a=a+1,然后再输出a值,而b++是先输出后再执行b=b+1;
简单的说++a是先自增,a++是后自增
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式