printf
# include <stdio.h>
int printf(const char *format, ...);
int printf("输出控制符 非输出控制符",输出参数);
printf:自右向左压栈,故从右往左运算
后缀++会在数据入栈后生效,而不是要等到整条语句完全执行结束后才生效
实例1:
#include<stdio.h>
void main()
{
int i=2;
printf("%d,%d,%d,%d,\n",i++,++i,i,i++); //3 3 2 2
printf("%d\n",i); //5
}
解析:
printf("%d,%d,%d,%d,\n",i++,++i,i,i++);
从右往左运算:
i++得到2(i=2,后加1在整条语句执行完才进行,这里先记下)
i还是2 (i=2,原因见上一行)
++i得到