当前位置: 代码迷 >> C语言 >> [求助]Delay的参数有范围限制吗?
  详细解决方案

[求助]Delay的参数有范围限制吗?

热度:234   发布时间:2005-04-09 18:20:00.0
[求助]Delay的参数有范围限制吗?
我在C语言中作图时,用DELAY进行延时,但是我发现参数太大了反而延迟的时间越短
请问是不是有个范围呀,范围是多少?
还有我用DELAY(1000);怎么不是延迟一秒





搜索更多相关的解决方案: Delay  参数  范围  DELAY  

----------------解决方案--------------------------------------------------------
delay()暂停函数 原形:void delay(unsigned milliseconds) 功能:暂停当前所执行的程序milliseconds毫秒。 头文件:dos.h 不是说你delay(1000)就真的是1秒的,具体还要看你这台机器
----------------解决方案--------------------------------------------------------
我也想过和机器有关系但我怎么知道什么样的机器有什么样的规定呢
----------------解决方案--------------------------------------------------------
delay反映的你机子cpu的内部时间,cpu越快延迟的时间就越短.但是我们可以自己编一个和delay一样的函数,其实就是一直调用delay函数,例如:
f(int n)
{int i;
for(i=0;i<n;i++)
delay(1000);}
n可以是任意数
----------------解决方案--------------------------------------------------------
n可以是任意数??

小于等于65535(unsigned int)才对!
----------------解决方案--------------------------------------------------------
以下是引用天使预备役在2005-4-20 13:48:19的发言: n可以是任意数?? 小于等于65535(unsigned int)才对!
哎~~太钻牛角了
----------------解决方案--------------------------------------------------------
[讨论]
以下是引用czwsky在2005-4-9 18:20:50的发言: 我在C语言中作图时,用DELAY进行延时,但是我发现参数太大了反而延迟的时间越短 请问是不是有个范围呀,范围是多少? 还有我用DELAY(1000);怎么不是延迟一秒
我觉得:你说数越大,反而延时越少,这是因为,当数很大时,由于自己类型所能表示范围不同,而使数溢出,而变得很小.延迟也 就小了.
----------------解决方案--------------------------------------------------------
delay(n);
表示延迟n个时钟周期;
不同的机器时钟可能不同;
----------------解决方案--------------------------------------------------------
你也可以用汇编来编写一个延迟函数;
----------------解决方案--------------------------------------------------------