c中printf执行详解

来源:互联网 发布:淘宝收件人必须实名吗 编辑:程序博客网 时间:2024/05/18 20:34

以printf("x=%d, y=%d, z=%d",x,y,z)为例子

1.先求表达式x,y,z的值

2.将z,y,x依次压入运行时堆栈

3.将格式串中的替代符与x,y,z匹配

4.输出替代后的串

附注:即时表达式中的值不会被输出,但是仍然会求。即会执行1是必然的,但有可能3时没有匹配到输出

 

函数:

int x=y=3;

printf("x=%d, y=%d",x++,y++,y++);

printf("x=%d, y=%d",x,y);

输出:

x=3, y=4

x=4, y=5