printf是输出到标准输出的, 然后因为打印到屏幕上会有额外消耗所以标准输出会把接收到的字符串先缓存起来等遇到一行结束(有换行符)才输出到屏幕, while里的print没有输出换行符所以字符串都存在了缓冲区里没有输出到屏幕加一句fflush(stdout);强制清空缓冲区就可以立即打印到屏幕上