帮忙看看这个程序和下面的那个程序有什么区别

[复制链接]
1463|2
 楼主| huangfeng33 发表于 2014-2-13 20:37 | 显示全部楼层 |阅读模式
大家帮忙看看这个程序和下面的那个程序有什么区别
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
void keyscan()
{                                    
if(num==20)
   {
                   num=0;
                shu++;
                if(shu==60)
                        shu=0;
        
   if(key4==0)
   {
                   delay(10);
                if(key4==0)
                {
                        while(!key4);
                        TR0=~TR0;
                }
   }
   }
}
这是第二个程序:
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
void keyscan()
{                  
if(num==20)
   {
                   num=0;
                shu++;
                if(shu==60)
                        shu=0;
    }
   if(key4==0)
   {
                   delay(10);
                if(key4==0)
                {
                        while(!key4);
                        TR0=~TR0;
                }
   }
}
这两个程序的区别就在于大括号的位置。但是实现的结果却不一样。

dirtwillfly 发表于 2014-2-13 22:02 | 显示全部楼层
这是51单片机吧?
括号位置不一样,程序流程就不一样。实现的结果很有可能就不一样啊
小营七郎 发表于 2014-2-13 23:07 来自手机 | 显示全部楼层
上面那个,属与嵌套,就是if里面有if,下面那个属于并列,两个是独立的。前者就和爸爸和儿子的关系,没有第一个if,没有爸爸,哪来的第二个if,哪来的儿子,后者就是两个兄弟,成家了,都是各干各的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部