您的位置:首页 > 编程语言 > C语言/C++

C语言中printf与i++,C++中的cout

2013-09-24 04:14 232 查看
一,printf与i++

1,C语言中的printf是自右向左输出,。

2,而i++与++i不同的

i++首先取得i的值,下一行时候i = i + 1;

++i,首先i = i + 1,再取得i的值。

比如

int i=8;
printf("%d,%d,%d,%d,%d,%d\n",++i,--i,i++,i--,-i++,-i--);


输出结果是:8,7,8,8,-8,-8

在“printf("%d,%d,%d,%d,%d,%d\n",++i,--i,i++,i--,-i++,-i--);”语句中,i++的时候i值不变,在下一行时候,才会执行i = i + 1;++i时候i的值加1。

二,C++中cout

1,C++中cout是自右向左将数据存入栈,本数据流的数据存入完毕,再输出。

cout << 3 << 4 <<endl; //首先将4 入栈,再将3入栈,之后根据后进先出原则,先输出3,再输出4;

2,如果上面3、4是函数,那么先执行函数,把函数结果入栈。

比如

#include<iostream>
using namespace std;
int fa()
{
cout<<"fa()"<<endl;
return 1;
}
int fb()
{
cout<<"fb()"<<endl;
return 2;
}
int fc()
{
cout<<"fc()"<<endl;
return 3;
}
int main()
{
cout<<fa()<<fb()<<fc()<<endl;
return 0;
}


View Code
执行cout时候,先执行fc(),输出fc(),返回3值入栈;

再执行fb(),输出fb(),返回2值入栈;

再执行fa(),输出fa(),返回1值入栈;

最后输出123



3,如果想先输出fa(),在输出fb(),fc()。需要设置三个输出流,这样有三个栈。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: