各位老师,小生求教一个关于C语言的问题。多谢!
while(!key);
{
if(num<9)
num++;
}
这样写正确吗?
为什么while(!key);
都是一个语句了。怎么后面还加{}
while语句后面加了;号,表示语句的结束,假如语句为真即如while(1);程序永远停在这里。下面的语句都不会执行下去。
while (1)
{
if(!KEY_ADD)
{
DelayMs(10);
if(!KEY_ADD)
{
while(!KEY_ADD);
{ //这组大括号不加可以不?
if(num<9)
num++;
}
}
可以不加,你是想实现什么功能?能说说要求?
按键实现
按一下加一个数,到9之后就减到0;我就发现那个{}不应该加。
不知道你想实现什么功能?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71 };
sbit key1=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
void delay(uchar z);
void main()
{ P1=0xff;
wela=1;
P0=0xfe;
wela=0;
while(1)
{
if(key1==0)
{
delay(5);
if(key1==0)
{
num++;
if(num==10)
num=0;
}
while(!key1);
}
else
dula=1;
P0=table[num];
dula=0;
}
}
void delay(uchar z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
这是程序,你可以看看。
我觉得把while(!key);放入IF里会不会更好一点儿!
while(!key);这条语句是用来,检测按键的释放。我觉得放在外面好理解。放在里面也行,效果一样。