avr单片机c语言程序,下面的可以实现吗?如果不行,求解救
定义unsignedcharp然后p=PINB&0X01请问我能不能if(;p==0x01;)就是能不能把p的值这样作为判定条件用?条件只能是int型吗?抱歉啊各位,上面...
定义unsigned char p
然后p=PINB&0X01
请问我能不能if(;p==0x01;)就是能不能把p的值这样作为判定条件用?条件只能是int型吗?
抱歉啊各位,上面的一时手误打错了,是for(;p==0x01;) 展开
然后p=PINB&0X01
请问我能不能if(;p==0x01;)就是能不能把p的值这样作为判定条件用?条件只能是int型吗?
抱歉啊各位,上面的一时手误打错了,是for(;p==0x01;) 展开
展开全部
p的值当然可以作为判定条件用,char 型和Int型都可以,但
您的if(;p==0x01;); 是错的,应该为for(;p==0x01;) ;
另外如果p定义为 unsigned int p; 则应p=(unsigned int)(PINB&0x01);
追问
听说字符型变量比较需要一个特定的函数,像上面的p是字符型变量,也可以用双等号直接判断是否相等吗?谢谢您了
追答
当然可以直接判断,不需要什么特定函数啊。 因为unsigned char p 定义后,其实对计算机来说不论字符还是十六进制数,都是0-255 ,所以可以直接判定,p==0x01这个语句没有问题。
展开全部
可以这样用
char int long 等变量都可以用if判断
只不过指针的判断特殊点
char int long 等变量都可以用if判断
只不过指针的判断特殊点
追问
抱歉我上面的打错了,,,没有用到指针吧?我主要想问那个双等号能不能用在这个字符型变量上的判断,是否需要特定函数呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是舍近求远嘛,你直接使用if(PINB & 0X01)这样的逻辑判断就行了嘛!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询