c语言Sleep()函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言Sleep()函数相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <math.h>
#include <windows.h>
int main()

int i;
for(i=1;i<=100000000;i++)

printf("%d\n",i);
Sleep(1);

system("pause");
return 0;

按理说每毫秒输出1个数,一秒应该输出1000个数,但是实际输出不了那么多,Sleep()里面的数太小了就不精准了是吗?

Sleep(1) 是休息 1毫秒。不是非常精确的,只是说分辨率是 1毫秒。
你的循环语句的执行,输出语句的执行,也要花时间,同一时间,你的计算机系统还有很多进程也在运行,它们共享同一电脑的资源。 所以 你的程序 输出不了那么多数。
参考技术A 建议先把(end-start)强制转换成实型,因为整型相除结果是整数……

C中的Sleep()函数不能在hp不间断地工作

【中文标题】C中的Sleep()函数不能在hp不间断地工作【英文标题】:Sleep() function in C not working on hp non-stop 【发布时间】:2021-11-18 09:15:11 【问题描述】:

我在 hp-nonstop(tandem) 上尝试 C 语言, 作为一部分,我的任务是等待某个时间。

我尝试使用

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main()

   int i;
   for(i=0;i<10;i++)
   
     printf("Something");
     sleep(5);
     printf("Something");
     fflush(stdout);
    
 

编译没有问题,

在运行时它给出 ABENDED: 每次不同的编号。

【问题讨论】:

您是否获得了特定的 ABEND 代码/额外信息? sleep() 总是成功,所以没有失败返回。 当遇到阻止此功能成功完成的任何故障时,将生成异常结束。 support.novell.com/techcenter/articles/ana19950604.html 我认为您需要提供更多细节,否则任何人都无法说出为什么会发生“ABnormal END”。 我已经添加了代码,我正在尝试并且异常结束。你能告诉我你还需要什么信息吗? @alinsoar 【参考方案1】:

从监护环境调用sleep() 的结果未定义。这可能会导致您提到的 ABEND。如果您想在监护人 hp-nonstop 环境中等待一段时间,您应该致电DELAY()。它需要厘秒作为参数。所以如果你想增加 5 秒的延迟,你应该把它称为DELAY (500)。您还需要包含标题#include&lt;cextdecs(DELAY)&gt;

【讨论】:

非常感谢@pras 它正在工作 更正了如果你想要延迟 5 秒,函数应该被称为 DELAY(500) 而不是 DELAY(5)

以上是关于c语言Sleep()函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言中sleep函数的原理是啥?

sleep()函数怎么具体在c语言中怎么用?

c语言Sleep()函数

c语言sleep的用法

C语言怎么写延时函数,精确到毫秒

在c语言编程中,如果先执行一条语句,隔段时间,在执行下一条语言,该怎样实现呢?