延缓输出
下面的代码是为了实现每隔一秒钟输出一个数字,
但是发现结果是等到最后一秒才输出所有要输出的数字;
#include<stdio.h>#include<time.h>void wait ( int seconds ){ clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while (clock() < endwait) {}} int main(){ int i; for(i = 1; i< 10; i++) { printf(" %d ",i); //如果代码写成printf("%d\n", i);就可以每隔一秒输出一个数字,求其中的真理? wait(1); } return 0; }#include <stdio.h>#include <Windows.h>//#include<time.h>//void wait ( int seconds ) // 这种延时方式,相当消耗CPU资源,实际中可不要这么做。//{// clock_t endwait;// endwait = clock () + seconds * CLOCKS_PER_SEC ;// while (clock() < endwait) {}//} int main(){ int i; for(i = 1; i< 10; i++) { printf(" %d ",i); //如果代码写成printf("%d\n", i);就可以每隔一秒输出一个数字,求其中的真理? //wait(1); Sleep(1000); // 如果是在Windows上,就用这个函数吧,Linux上也有类似的函数 } return 0; }
[解决办法]