我本来是想l利用sleep()函数在一行中有停顿的输出"-------------"作为提示符,以下代码可以实现有停顿的输出
#include<stdio.h> #include<unistd.h> int main() { while(1) { printf("-\n"); usleep(100000); } return 0; }
但是去掉换行符'\n'后程序运行后就没反应了
这是怎么回事啊?如果要实现我的目的的话,该怎么做呢?谢谢!
你这就是一个死循环了。把printf("-\n");改成printf("-");就行,记得是双引号不是单引号
应该是循环一行输出不换行,行缓存区不够吧。所以没有显示
你是必须在while循环中实现吗?
缓冲区问题,行缓冲在缓冲区满或遇到换行符才会刷新缓冲区。 你需要自己手动刷新缓冲区,使用fflush(stdin)
fflush(stdin)