大虾们 如何跳出该语句

[复制链接]
 楼主| yegucheng123 发表于 2011-8-16 00:42 | 显示全部楼层 |阅读模式
while(d!=0)
  {
     a++;
  }

我在这个语句中间点亮一个LED。语句之后点亮一个LED。
while(d!=0)
  {
     LED1=1;
     a++;
  }
LED2=1;

发现LED1亮了,而LED2没亮。我确定d=1
原野之狼 发表于 2011-8-16 00:52 | 显示全部楼层
1!=0
所以循环执行花括号内的语句,LED2当然就不亮了。
huangqi412 发表于 2011-8-16 08:20 | 显示全部楼层
不等以0,一直在循环。
ccmc 发表于 2011-8-16 08:43 | 显示全部楼层
while(d!=0)
  {
     LED1=1;
    d=0;
  }
LED2=1;
 楼主| yegucheng123 发表于 2011-8-16 10:14 | 显示全部楼层
谢谢:lol
DK521 发表于 2011-8-16 10:30 | 显示全部楼层
while(d!=0)
  {
     LED1=1;
    d=0;
  }
LED2=1;
ccmc 发表于 2011-8-16 08:43


那直接LED1=1;LED2=1不就完了? 还用什么while?
yangaiping 发表于 2011-8-16 10:32 | 显示全部楼层
原来如此
 楼主| yegucheng123 发表于 2011-8-16 12:16 | 显示全部楼层
问题解决了。while前面出问题了,导致d一直等于1。没跳出这个语句我老是认为这个语句有问题。看来要自信点
原野之狼 发表于 2011-8-16 12:49 | 显示全部楼层
问题解决了。while前面出问题了,导致d一直等于1。没跳出这个语句我老是认为这个语句有问题。看来要自信点
yegucheng123 发表于 2011-8-16 12:16

嘿嘿 疑神疑鬼要不得:lol
t.jm 发表于 2011-8-16 13:27 | 显示全部楼层
问题解决了。while前面出问题了,导致d一直等于1。没跳出这个语句我老是认为这个语句有问题。看来要自信点
yegucheng123 发表于 2011-8-16 12:16

哪里都没出问题,错不再d一直等于1,是你用的用问题:
如果用while(d!=0){...},对应的你必须在中断里改变d的值,
否则就该用:if(d!=0){...}
mohanwei 发表于 2011-8-16 14:48 | 显示全部楼层
如果是中断改d,不要忘了d的定义前面加个volatile,否则维护了N个版本后突然发现程序更年期综合症出现了你会抓狂的
福州观沧海 发表于 2011-8-16 18:02 | 显示全部楼层
干脆把所有变量都用volatile 修饰算了
zdhwangep 发表于 2011-8-16 19:28 | 显示全部楼层
11# mohanwei
volatile之前没听说过,有什么用途?可否讲一下
huangqi412 发表于 2011-8-16 20:24 | 显示全部楼层
严重不环保 12# 福州观沧海
huangqi412 发表于 2011-8-16 20:24 | 显示全部楼层
百度,狗狗是干什么吃的。。。 13# zdhwangep
zdhwangep 发表于 2011-8-16 21:00 | 显示全部楼层
15# huangqi412
前辈批评的对,我知道以后该怎么做了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:阿弥陀佛,出家人不打诳语。女施主 ,你的确是贫僧自东土出行至今所遇的,最美丽、最性感的女子,你看你这秀发,这玉手,这肌肤,这手感……

0

主题

82

帖子

1

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