当前位置:网站首页>printf计算顺序和输出缓冲区

printf计算顺序和输出缓冲区

2021-07-25 14:43:53 lidb002

printf计算顺序和输出缓冲区
#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);
    }
}

 

版权声明
本文为[lidb002]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_10182395/3181871