众所周知,Windows上实现时停需要Windows.h头文件和Sleep()函数
#include#include using namespace std; int main() { cout<<1; Sleep(1000); cout<<2< 运行本程序,会先输出1,等待1秒后输出2
但是!在linux系统上:
#includeusing namespace std; int main() { cout<<1; sleep(1); cout<<2< 运行,他会先等待1秒,然后一起输出12
???
但但是,添加一个endl后
#includeusing namespace std; int main() { cout<<1< 这时,他又会先输出1,等待1秒,再输出2
行,既然sleep不好用,那我就用循环
#includeusing namespace std; int main() { cout<<1; for(int i=1;i<=1000000000;i++) { ; } cout<<2< 结果没有丝毫变化,还是先等待,在输出12
气的我想当场卸载Linux
最终我找到了可行的代码
#includeusing namespace std; int main() { cout<<1; for(int i=1;i<=10000000;i++) { cout< 只需要在循环里输出NULL字符,最终结果就会变成,先输出1,等待,再输出2
???
本人刚学C++和Linux没多久,请问各路大神为什么会出现这样的问题,加上endl为什么又好了,循环加上char(0)为什么又好了?



