当printf遇到了i++ 或++i
来源:互联网 发布:百马百担c语言编程 编辑:程序博客网 时间:2024/05/31 13:14
当printf遇到了i++ 或++i,会发生什么事情呢?
看看各大编译器对它的反应
# include <stdio.h>
main()
{
int i=1;
int l, j, k; l=1; j=2; k=3;
printf("%d %d %d", i , ++i, ++i); //3 3 2 under vc++ 6.0 and dev-c++, turbo c; 3 3 3 under visual studio
i=1;
printf("%d %d %d", i , i++, i++); //1 1 1 under vc++6.0 ;output 3 2 1 under dev-c++ , turbo c and visual studio
printf("%d %d %d", l , j, k); //1 2 3
system("pause");
}
Base on the output above , we can coclude that:
i++ ++i
vc 先输出各个表达式的结果,后计算 从printf最后一个参数进栈,同时计算结果,按出栈顺序输出
vs 从printf最后一个参数进栈,同时计算结果,按出栈顺序输出 先计算各个++i得到 i 的结果,后输出
turbo c 从printf最后一个参数进栈,同时计算结果,按出栈顺序输出 从printf最后一个参数进栈,同时计算结果,按出栈顺序输出
dev-c++从printf最后一个参数进栈,同时计算结果,按出栈顺序输出 从printf最后一个参数进栈,同时计算结果,按出栈顺序输出
- 当printf遇到了i++ 或++i
- ++i、i++、printf函数
- 当printf遇到多线程
- C++的printf(),以及++i, i++
- printf下的“i++”和“i--”
- 当fork()遇上了printf()
- 中了I-Worm.supnot.w或I-Worm.supnot.s 的解决方法
- 对i++,i--,++i,--i深刻认识以及printf()函数打印的过程
- printf("%d,%d,%d,%d\n",i++,--i,++i,i++);编译器是如何处理的。
- printf中连续输出i++,--i,++i,i--的值如何
- 关于c++中printf 和 i++,++i的问题
- 关于printf("%d, %d",i, ++i)输出解释
- ++i, i++, printf 和 程序的可移植性 问题
- gcc 编译器中 printf i++ 和 ++i 的输出
- 程序员面试(0):关于i++,++i,printf的例题
- 关于printf("%d,%d",i--,i++)的问题
- i++和printf不得不说的故事
- I
- C语言指针问题快速解惑
- 一天
- LOHAS宣言——“房子可以小,但要温暖!”
- web developer tips (58):在vs里导入导出每一个HTML的标记
- 11.03[转自:Jack @ CnBlogs]实现iFrame自适应高度,原来很简单!
- 当printf遇到了i++ 或++i
- Android 实验室
- 关于“#ifdef __cplusplus”
- Freemarker指令
- 基于SQL Server 分页存储过程的演进
- 关于WINCE内版本的说明
- 液晶电视与等离子电视的区别
- MyEclipse 的快捷键
- php基础问题(无答案)