C语⾔中printf与i++,C++中的cout
⼀,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;
return1;
}
int fb()
{
cout<<"fb()"<<endl;
c语言printf用法例子简单return2;
}
int fc()
{
cout<<"fc()"<<endl;
return3;
}
int main()
{
cout<<fa()<<fb()<<fc()<<endl;
return0;
}
View Code
执⾏cout时候,先执⾏fc(),输出fc(),返回3值⼊栈;
再执⾏fb(),输出fb(),返回2值⼊栈;
再执⾏fa(),输出fa(),返回1值⼊栈;
最后输出123
3,如果想先输出fa(),在输出fb(),fc()。需要设置三个输出流,这样有三个栈。