为什么debug不执行if内语句?

2019-07-15 15:08发布

本帖最后由 lettersprite 于 2016-1-22 16:43 编辑

各位大神,一个很简单的的一个程序但是不知道为什么debug不执行if内语句,求解。谢谢!

#include<reg52.h>
void main()
{
char shu,n;
while(1)
        {
        P2=0xf7;
        shu=P2;
        if(shu==0xf7)     //为什么不执行if内语句?难道shu==0xf7为假?求解
                {
                n++;
                }
        }
}



#7楼正解,十分感谢,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
liujinyi016
1楼-- · 2019-07-15 21:04
 精彩回答 2  元偷偷看……
零tot
2楼-- · 2019-07-15 23:40
debug状态下看一下shu这个值的值,两个值不一定会相等的。
lettersprite
3楼-- · 2019-07-16 00:28
jinyi7016 发表于 2016-1-14 21:46
shu读取的是P2口的状态,你确定P2口的状态是0xf7,你再设一个数试试,不要用P2

debug时P2口数据和0xf7是一样的啊
lettersprite
4楼-- · 2019-07-16 03:49
零tot 发表于 2016-1-14 22:17
debug状态下看一下shu这个值的值,两个值不一定会相等的。

debug时P2口数据、shu和0xf7是一样的啊
liujinyi016
5楼-- · 2019-07-16 06:03
lettersprite 发表于 2016-1-15 21:22
debug时P2口数据和0xf7是一样的啊

这样,
char ppp222,shu,n;
ppp222=0xf7;
shu=0xf7
if(shu==0xf7)
{
n++;
}
diy-cnc
6楼-- · 2019-07-16 09:10
 精彩回答 2  元偷偷看……

一周热门 更多>