普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3539|回复: 1

[已解决] 求解While函数的这是为什么????

 关闭 [复制链接]

2

主题

3

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2020-1-6 23:35:47 | 显示全部楼层 |阅读模式
在这个程序(1)中。。。

#include <reg51.h>
sbit led=P0^0;

void main()
{                

        while(1)
        {
                led=0;       
        }
}

和程序(2)中。。。



#include <reg51.h>
sbit led=P0^0;

void main()
{                
                led=0;
        while(1)
        {
       
        }
}
仿真小灯都一直亮,说明while一直在带着led=0;循环;

为什么在程序(3)中。。。

#include <reg51.h>
sbit led=P0^0;
typedef unsigned int u16;
void delay(u16 i)
{
        while (i--);
}

void main()
{                

        while(1)
        {
                led=0;
                delay(50000);           

                led=1;
                delay(50000);       
        }
}

把while内语句搬出来变成程序(4),
这个循环就没有带前面的语句了呢????
#include <reg51.h>
sbit led=P0^0;
typedef unsigned int u16;
void delay(u16 i)
{
        while (i--);
}

void main()
{                
                led=0;
                delay(50000);           

                led=1;
                delay(50000);       
        while(1)
        {
        }
}
回复

使用道具 举报

20

主题

216

帖子

1115

积分

金牌会员

Rank: 6Rank: 6

积分
1115
发表于 2020-1-7 09:09:54 | 显示全部楼层
while只是一个循环体 循环体内有语句且条件为真就重复循环, 如果循环体内没语句就进行空循环 就什么也不执行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-3 08:51 , Processed in 0.080011 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表