关于单个printf函数输出多个i++的问题。
本帖最后由 小泉向西流 于 2014-5-21 20:45 编辑这是小甲鱼《c语言程序设计视频教程》第三章007视频,第25分出现的视频例子。
关于printf函数的讲解的例子。
#include<stdio.h>
void main()
{
int i=8;
int j=8;
printf("输出i的变化值:\n");
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
printf("输出j的变化值:\n");
printf("%d\n",++j);
printf("%d\n",--j);
printf("%d\n",j++);
printf("%d\n",j--);
printf("%d\n",-j++); // 相当于-(j++)
printf("%d\n",-j--);
}
vc6.0的结果如下:
对于一个printf函数中只有一个++,很好理解, 即j的变化。
但对于一个printf函数中含有多个++,即i的数值变化, 搞不懂是怎么变的。
求大神指导。
小甲魚匯編視頻有提到這個, 主要是VC6在運算的時候會做優化, 不能以正常的算法來算, 這是VC6的優化, 所以小甲魚有說不必糾結這樣的問題, 因為你實際在寫大型程序的時候是不會用到這些的,
只要記住:
後綴增加 ++i (向右結合)
前綴增加 i++ (向左結合)
以上的"定義" 就可以了
有篇关于i++的
页:
[1]