标题: 这个C语言程序如何更改为if-else if格式 [打印本页]

作者: 赢了一切又何妨    时间: 2021-6-24 19:56
标题: 这个C语言程序如何更改为if-else if格式
#include<reg51.h>
sbit   S1=P0^0;
void   delay(unsigned int i)
{    unsigned  int k;
     for(k=0;k<i;k++);
}
void   main()
{
     unsigned char i=0;
         P1=0xff;
         while(1)
         {  
           if(S1==0)
           {  delay(1200);
              if(S1==0)
                  {  if(++i==5)i=1;    }


     }
         switch(i)
         {
             case  1:P1=0x00;break;
                 case  2:P1=0x55;break;
                 case  3:P1=0x0f;break;
                 case  4:P1=0xff;break;
                 default:break;
         }
         while(!S1);


         delay(1200);
         }
}



作者: wzw12345    时间: 2021-6-24 21:48
直接把switch改成if(i=1)P1=0x00;else if(i=2)P1=0x55;....
作者: 名字不是重点    时间: 2021-6-25 00:21
为什么要改?switch不比IF更好用吗?
作者: ljq180    时间: 2021-6-25 08:01
if(i==1)
{
  P1=0x00;
}
else if(i==2)
{
P1 = 0X55;
}
else if(i==3)
{
P1=0X0F;
}
else if(i==4)
{
p1=0xff;
}
但是建议3个else if以上就使用switch




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1