首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解释运算顺序解决办法

2012-03-31 
求解释运算顺序#includeiostream.hint main(){int i0char a[10]123456couta[i++]a[i++]endl

求解释运算顺序
#include<iostream.h>
int main()
{int i=0;
char a[10]="123456";
cout<<a[i++]<<a[i++]<<endl;
}


输出结果是21,为什么输出不是12????与++的自右向左有关吗??调试的时候可以将这个句子再分步调试吗??求详细解释

[解决办法]

探讨

单步调试看看,查看汇编就知道了。

[解决办法]
cout<<a[i++]<<a[i++]<<endl;
对于这一条语句来说,是先计算第一个a[i++]还是先计算第二个a[i++]没有定义,根据编译器来决定

[解决办法]
这个和库函数有关,如果你将<iostream.h>改成<iostream>还会有不同的值。
cout输出有的编译器是从右至左,有的是从左至右!!这个需注意!!
[解决办法]
啊 ,,又有人问这种问题了

http://blog.csdn.net/gytanonymous/article/details/7330660

热点排行
Bad Request.