keil不能for循环

#include<reg51.h>sbitLed1=P0^0;sbitLed2=P0^1;voiddelay(unsignedinti){while(i){i--;}}v... #include<reg51.h>
sbit Led1=P0^0;
sbit Led2=P0^1;

void delay(unsigned int i)
{
while(i)
{
i--;
}
}
void main()
{
int i=4;
while(1)
{
P0=0xff;

Led1=0;
for(;i<1;i--)
{
P0=P0<<2;
delay(10000);
}
P0=0xff;
Led2=0;
for(;i<1;i--)
{
P0=P0<<2;
delay(10000);
}
}
}
展开
 我来答
lycdl
高粉答主

2017-10-07 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4961万
展开全部
这for(;i<1;i--) 条件用的不对吧,应该是for(;i>0;i--)
还有,为什么没有初始值呢?为什么要省呢?
虽然前面有一行
int i=4; 这是赋初值了,可这只第一次for循环有效,循环结束后,i=0 了,就作为一次for的初始值了,这能行吗?
别为了偷懒,少写一点,使程序错误,何必呢。
正确写法,每一个for都应该写成
for(i=4;i>0;i--)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式