for与while循环时间差一倍吗?
时间:10-02
整理:3721RD
点击:
void Delay1()
{
unsigned int a=0;
unsigned int b;
for(;a<1000;a++)
{
for(b=0;b<600;b++);
}
}
void Delay2()
{
unsigned int a=1000;
unsigned int b;
while(--a!=0)
{
for(b=0;b<600;b++);
}
}
这两延时函数为什么时间差一倍?
{
unsigned int a=0;
unsigned int b;
for(;a<1000;a++)
{
for(b=0;b<600;b++);
}
}
void Delay2()
{
unsigned int a=1000;
unsigned int b;
while(--a!=0)
{
for(b=0;b<600;b++);
}
}
这两延时函数为什么时间差一倍?
自己顶自己!
不会到一倍这么多吧,帮顶
具体延时时间取决于汇编代码,不同的编译器可能反汇编代码有点区别。
你最好看一下反汇编代码,也许有一个多出了一条或两条汇编语句。