printf 自加自减

printf()函数的处理过程,是先将参数从右到左遍历一遍,最后才执行打印操作,而不是遍历一个打印一个。

编译器在处理前置,和后置时是不一样的。

在处理后置时:是将值放入临时量中,在输出时直接从临时量中取值

在处理前置时:是等运算完成后,直接从I的地址中取值

也就是说,编译器对每个后置运算符会保存一个临时变量,执行完所有的自加自减运算后,按照临时变量或者内存中的数进行输出

 

#include <stdio.h>
void main()
{
  int i=10;
  printf("%d  %d  %d  %d  %d\n",i--,--i,++i,i++,i);
}

运行后:11  10  10  10  10

 

#inlcude <stdio.h>

void main()

{

   int i = 0;

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

}

运行后:0  1  0

相关文章
相关标签/搜索