while(!k1);

供稿:hz-xin.com     日期:2025-01-14
我在看51单片机代码的时候有一个while(!K1),后面写的作用是是“按键释放”。K1是按键,

while(k1) 表示while(k1!=0)
那么while(!K1)就表示while(K1==0)
就是按键按下时在这里等待,如果按键抬起,就可以运行下一句了

当!k1成立时执行循环

即k1不成立时

也即k1==0时

比如这个独立按键程序:while(!k1); 的循环体是空语句,就是说如果括号里的值为真,就一直循环执行空语句,也就是什么也不做,就是等待。
而当括号里的值为假,则跳出这个while的空语句循环,继续往下执行程序。这里跳出while循环后 viod keypros这个子函数就结束了。



若K1为假,则!K1为真,执行while下的语句
若K1为真,则!K1为假,跳出while语句

当k1等于0的时候执行while下的语句

没意思,要么无限循环,要么一次也不执行