77问答网
所有问题
c++程序,为什么cout输出的顺序会是这样呢?
#include <iostream.h>
void main()
{
int a=1;
cout<<++a<<"\n"<<a++<<"\n"<<++a<<"\n"<<a++<<"\n";
}
举报该问题
推荐答案 2011-11-24
同样的道理,cout输出函数是从右向左运算的。
即为先从最后面一个a++开始 1,之后a = 2;
++a; a为3
a++; a先为3 之后变成4
++a; a =5
输出5 3 3 1.
你针对这个再分开试试,就知道,cout输出函数是从右向左运算的了。
满意请采纳
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8W3qvqG3q.html
其他回答
第1个回答 2011-11-24
这说明函数的参数入栈顺序是从右往左。
先将最右边的a++入栈,入栈的值是1,然后a变成2
再将右边的++a入栈,入栈的值是3,a变成3
再将第2个a++入栈,入栈的值是3,a变成4
最后将第1个++a入栈,入栈的值是5,a变成5本回答被提问者采纳
第2个回答 2011-11-24
c++中的main函数是带返回值的。一般写成int main();在程序执行完了之后用return 0;表示程序正常结束并返回。
第3个回答 2011-11-24
从右边先开始算
相似回答
C++
,cout输出顺序,
求赐教
答:
输出顺序
:自左至右
C++
中,int c=3;
cout
<<(
c++
)+(++c); 运行
顺序
如何
?为什么?
答:
这题要看用什么编译器,它们的结果和算法
顺序是
不一样的。如果是GCC结果是:8 顺序是先把3代入算式,然后
c++
自增等于4,然后再++c自增等于5,将5代入算式,结果就是3+5等于8 再看看VC结果是:7 VC是先将3代入算式...
C++
中,C=a+b
,为什么
要先写
cout
<<"a+b=";再写cout<<c; 前面那句a+b可以...
答:
用引号包含的内容是直接
输出
到屏幕的,例如上面的
cout
<<"a+b=";
这样
你在屏幕上就会看到a+b=这几个字符,然后再cout<<c;就接着输出c的值,连起来就是一个等式a+b=c(用c的值替换掉)。 可以不写cout<<"a+b=";...
C++
int a=1;
cout
<<a++<<a++<<a++;
输出
321,分析下
为什么,
重点说一下...
答:
因为是后置++,所以a++是先取a的值然后再将a的值加1
,注意cout输出流要从最右边开始读入,所以先执行最后面的a++,然后依次向左执行,但是输出的时候还是从左往右输出的,所以会出现321的情况,<<在这里是被c++重载的...
C++
为什么输出的
语句
的顺序
不一样了,求大神赐救!!
答:
int x,int y){
cout
<<"在swap函数中,调用swap之前"<<"a:"<<a<<",b:"<<b<<endl;int z;z=a;a=b;b=z;cout<<"在swap函数中,调用swap之后"<<"a:"<<a<<",b:"<<b<<endl;} 执行
顺序
如下:...
为什么cout
从右向左入栈
答:
入栈c-b-a,出栈就是a-b-c就是正确的打印
顺序
了。“那么
cout
<<fa()<<fb()<<fc()<<endl;
为什么
不是先执行cout<<fa()然后返回一个
输出
流对象再按顺序继续执行后面的东西呢?”因为你这是一个流所以不能中间返回...
在
c++
中, Char a[10]=“abcd”
Cout
《a《endl
为何输出的是
abcd?
答:
但
C++
中
cout是
被定义好的一个类的对象,它和运算符“<<”连用时<<发生重载,语义被解释为
输出
<<右端指示的字符串。具体是通过运算符重载实现,类似于调用函数,只是右操作数作为地址被传入这个函数,然后函数内解析地址进行...
大家正在搜
顺序结构程序的执行顺序是
程序顺序是什么意思
程序的顺序执行具有顺序性
cout以什么编码输出
怎么用cout输出字符串
程序的顺序结构
程序是什么
程序结构是什么
cout输出string
相关问题
C++程序中为什么用cout输出float或double型的...
C++中关于cout的输出顺序问题
c++中,多个要输出的数据写在一个cout中的问题?
C/C++语言中为什么printf()会比cout()先输出...
C++程序问题,为什么if中的cout无法正常输出?
在如下C++程序中,为什么cout 和printf输出的值不...
下面的c++代码为什么会输出两个-1呢?而且是最后才输出的。
C++ 为什么输出的语句的顺序不一样了,求大神赐救!!