猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如下的延时函数中while(x--)是什么意思?有了解的吗?
void DelayMS(uint x)
{
uchar t;
while(x--)//?
{
for(t=120;t>0;t--);
}
}
哆啦的时光机
浏览 84
回答 2
2回答
弑天下
估计你的振荡器(或晶振)的频率为 每120个周期1ms,所以内层循环for(t=120;t>0;t--);相当于 1ms然后外层循环 while(x--){ ... } 控制内层循环执行 x 次,所以达到的效果就是 delay x ms至于while(x--){ ... },这个 x 是本地变量(局部变量,形参,堆栈上的变量),它的初始值是你在调用该函数时实参拷贝给它的
0
0
0
慕尼黑8549860
x是调用者传递过来的参数,用于决定延时的大小。在这个程序中,通过while循环和for循环的嵌套实现空转来完成延时。x--就是给x的值减1.每次循环减1,直到x=0结束循环,也就是终止延时。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续