首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >While循环始终为真CCS

While循环始终为真CCS
EN

Stack Overflow用户
提问于 2013-04-13 18:02:22
回答 1查看 1.9K关注 0票数 0

我使用的是CCS编译器,对于这段代码,我得到了一个警告,条件总是真的。这是一个用于PIC16F877的代码,所以当输入为1时,它应该会中断循环。我是不是漏掉了什么?

代码语言:javascript
复制
int read_keypad()
{
   int value=0;
   while(1)
   {
     UpButton=0;                  // In case of bad Input
     DownButton=0;
     RightButton=0;
     LeftButton=0;
     EnterButton=0;

     output_high(sat1); 
     if (input(sut1)) 
     {    
       value=1;
       while(input(sut1));
       break;
     }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-13 18:06:10

循环条件始终为真。该警告并不意味着您的循环不可能退出,只是不能通过它的测试条件退出。

当input(sut1)返回true时,您正在进入一个在input返回false之前什么也不做的循环,然后您将退出外部循环并退出read_keypad()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15986593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档