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的值。
比如
输出结果是: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是函数,那么先执行函数,把函数结果入栈。
比如
View Code
执行cout时候,先执行fc(),输出fc(),返回3值入栈;
再执行fb(),输出fb(),返回2值入栈;
再执行fa(),输出fa(),返回1值入栈;
最后输出123
3,如果想先输出fa(),在输出fb(),fc()。需要设置三个输出流,这样有三个栈。
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()。需要设置三个输出流,这样有三个栈。
相关文章推荐
- C++的cin/cout为什么比C语言的scanf/printf慢
- c++之cout、wcout、printf、wprintf不显示汉字或者遇到汉字即中断显示的原因
- C/C++中printf/cout 计算顺序与缓冲区问题
- C/C++中printf和C++中cout的输出格式
- C/C++中printf和C++中cout的输出格式
- 讨论C++的cin/cout与C的scanf/printf
- c++中cin/cout与scanf/printf的区别比较
- C/C++---printf/cout 从右至左压栈顺序实例详解
- C++-cin与scanf cout与printf效率问题
- C++ 标准输出cout与printf
- C++中cout和printf在vc6.0中的区别
- C/C++---printf/cout 从右至左压栈顺序实例详解
- C++中换行符‘\n’和控制符‘endl’的区别(cout和printf区别)
- [C++基础]cout与wcout,printf与wprintf,ofstream与wofstream关于输出中文的问题解决
- std::cout c语言和 c++的差别
- C/C++中printf和C++中cout的输出格式
- C++与C语言的区别——C++是对C语言的扩展(二)——输入cin与输出cout
- C语言中的可变参数-printf的实现原理 在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出
- c/c++ cin>> cout<< scanf() printf() 返回值
- C/C++知识要点4——printf函数以及cout的计算顺序