题目:编译一个进度条程序,最终实现“—”逐渐增加
初级解法:用一个字符数组来存放“-”,用循环控制打印出来,再用usleep函数减缓程序执行速度,以便于我们看清打印过程。
看执行结果,“-”确实有每次都在增加,只不过打印时不应该换行。去掉换行之后
运行结果显示:一下子“-”都打印出来了,而且“-”打印出来不是最终的10个,而是把每个num【i】都打印了出来,可是代码也是正确的。明明应该是循环一次从头打印一次,最终出来是一点点增多的十个“-”,一下子都出来是为什么呢?
首先printf功能是向终端显示打印数据的–
Linux下一切皆文件,当printf被当做文件操作时,将数据写入显示器设备文件,数据就会被显示在显示屏上。
显示器文件在编程中被称为标准输出设备
缓冲区
这是Linux的一个优化,我们输出一个数据就要操作一次输出设备硬件,而硬件效率一般都很低,所以就在内存中划出一个缓冲区,用来存放要输出的数据,等到条