#include <stdio.h> main() { int i=1; printf("%d, %d, %d ,%d\n",i,++i,i,i++); printf("%d\n\n",i); int j=1; printf("%d, %d, %d\n",++j,++j,++j); printf("%d\n",j); }
gcc编译下运行结果
3, 3, 3 ,1
3
4, 4, 4
4
printf()函数的参数,
在printf()函数读取时是从左往右读取的,然后将读取到的参数放到栈里面去,
最后读取到的就放在栈顶,处理参数的时候是从栈顶开始的,所以是从右边开始处理的
注意点:
1.printf()函数中的计算是从右向左进行的.
2.我们在写代码时,尽量避免无确定意义的表达式出现,因为不同的编译器,可能会采用不同的理解方式.
printf的\n与输出缓冲区
#include <stdio.h> int main(){ int i; for(i=0;i<5;i++){ printf("%d\n",i); //不加\n 会5s后一下子全出来,加\n会1秒出来一个 sleep(1); } }
















