C中的延迟()问题
Delay() issue in C
尽管我为每个打印语句设置了不同的 Sleep()
计时器,但它似乎只执行计时器最高的那个。需要一些帮助来解决这个问题。 TIA!
#include <stdio.h>
#include <windows.h>
void gotoxy(short int x, short int y);
int main()
{
int c = 1, d = 1, e, x, y, z, a;
srand ( time(NULL) );
for(a = 0; a <= 100; a++) {
x = rand() % 9 + 1;
y = rand() % 9 + 1;
z = rand() % 9 + 1;
gotoxy(5, 5);
Sleep(200); printf("%i", x);
gotoxy(8, 5);
Sleep(50); printf("%i", y);
gotoxy(11, 5);
Sleep(500); printf("%i", z);
}
return 0;
}
void gotoxy(short int x, short int y){
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
- 不要期望应用程序级别
sleep()
的准确性太高 - 比如实施。通常他们的计时器很容易错过 10 毫秒。
- 根据 documentation 此
Sleep()
参数以毫秒为单位。所以很容易就不会注意到这样的停顿。尤其是没有那么准确的实现。
我的建议只是增加时间间隔并检查。或记录当前挂钟时间。
尽管我为每个打印语句设置了不同的 Sleep()
计时器,但它似乎只执行计时器最高的那个。需要一些帮助来解决这个问题。 TIA!
#include <stdio.h>
#include <windows.h>
void gotoxy(short int x, short int y);
int main()
{
int c = 1, d = 1, e, x, y, z, a;
srand ( time(NULL) );
for(a = 0; a <= 100; a++) {
x = rand() % 9 + 1;
y = rand() % 9 + 1;
z = rand() % 9 + 1;
gotoxy(5, 5);
Sleep(200); printf("%i", x);
gotoxy(8, 5);
Sleep(50); printf("%i", y);
gotoxy(11, 5);
Sleep(500); printf("%i", z);
}
return 0;
}
void gotoxy(short int x, short int y){
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
- 不要期望应用程序级别
sleep()
的准确性太高 - 比如实施。通常他们的计时器很容易错过 10 毫秒。 - 根据 documentation 此
Sleep()
参数以毫秒为单位。所以很容易就不会注意到这样的停顿。尤其是没有那么准确的实现。
我的建议只是增加时间间隔并检查。或记录当前挂钟时间。