int i=1; cout<<i<<‘\t’<<-(i++)<<‘\t’<<i<<endl; 结果为2 -1 1 为什么是这样的结果?

inti=4;intj=5;cout<<i<<'\t'<<j<<'\t'<<i+++j<<'\t'<<i<<'\t'<<j<<endl;//55945,为什么答案是这样呢... int i=4;int j=5;
cout<<i<<'\t'<<j<<'\t'<<i+++j<<'\t'<<i<<'\t'<<j<<endl;//5 5 9 4 5,为什么答案是这样呢
展开
 我来答
jiang198616
2011-06-17 · TA获得超过182个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:81.9万
展开全部
因为,计算顺序是从右边开始的,首先,cout << i 时,后面还有<<,所以就将i放到堆栈中,之后次放到堆栈,计算时,依次取出,故先计算了后面的数值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式