C++中cout的连续输出问题

#include<iostream>usingnamespacestd;intmain(void){intval=5;cout<<val++<<++val<<val--<... #include <iostream>
using namespace std;int main ( void )
{
int val=5;
cout << val++ << ++val << val-- << --val << endl;
}
我在VS2010里面的运行结果为:4545
我在书上看到cout会先从右向左计算出输出结果,再从左向右进行输出,但如果这样解释的话结果应该是4444才对啊
怎么解释这个结果呢?
展开
 我来答
匿名用户
2013-06-24
展开全部
如果是从右向左计算,每一次val 都要使用上一次的val ,结果应该是4444,若是每次都用来计算结果应该是4565,你那编辑器好像用的不是这两种情况耶
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-24
展开全部
这个结果要看是什么编译器了不同的编译器处理的时候,优先级可能不同,结果就不同VS2010:4545DEV C++:5775VC++6.0:4444
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-24
展开全部
结果与编译器有关。不要在一个表达式里对同一个变量修改一次以上。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-24
展开全部
如果在同一个表达式中多次修改变量,结果不可预料!也就是答案不一定正确。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式