用c语言写另一个延时函数
时间: 2023-10-16 10:11:06 浏览: 80
以下是一个基于循环的延时函数,以毫秒为单位:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void delay(int milliseconds)
{
clock_t start_time = clock(); // 获取当前时间
while (clock() < start_time + milliseconds); // 在指定的时间内循环等待
}
int main()
{
printf("Start...\n");
delay(1000); // 延时1秒
printf("End.\n");
return 0;
}
```
注意:这种方式可能会导致 CPU 占用过高,因此不建议在实际应用中使用。更好的方式是使用系统提供的定时器。
相关问题
用c语言自己写一个延时函数
下面是一个简单的用 C 语言实现的延时函数的例子:
```c
#include <stdio.h>
#include <time.h>
void delay(int seconds) {
clock_t start_time = clock();
while(clock() < start_time + seconds * CLOCKS_PER_SEC);
}
int main() {
printf("Start\n");
delay(3);
printf("End\n");
return 0;
}
```
在上面的代码中,我们使用 `clock()` 函数来获取当前的 CPU 时钟时间。然后,在 `delay()` 函数中,我们使用一个 while 循环来等待指定的时间。循环的条件是当前的 CPU 时钟时间是否小于开始时间加延时时间的乘积。如果是,那么就继续等待;否则,就跳出循环。
在 `main()` 函数中,我们先输出一个 "Start",然后调用 `delay()` 函数来等待 3 秒钟,最后输出一个 "End"。
注意:这种简单的延时函数有一定的局限性,它只能实现精度较低的延时,而且在不同的系统上可能会有不同的表现。如果需要更高精度的延时,可以考虑使用操作系统提供的定时器或者硬件定时器等。
用C语言写一个延时函数
以下是用C语言编写的延时函数:
```
#include <time.h>
void delay(int milliseconds){
clock_t start_time = clock(); // 获取当前时钟时间
while (clock() < start_time + milliseconds); // 循环等待至达到指定时间
}
```
该函数接受一个整数参数,表示延时的毫秒数。它使用clock()函数获取当前时钟时间,并在循环中等待,直到时钟时间达到指定的延时时间。由于clock()函数返回的是处理器时钟时间,因此该函数可以保证在不同的硬件上具有相同的延时效果。
阅读全文