keil c51 left side of asn-op no lvalue怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil c51 left side of asn-op no lvalue怎么回事?相关的知识,希望对你有一定的参考价值。
main()
scran:
if(1=P1^0)
num1:
P2=0xee;
tim();
if(P0=0x40)
goto scran;
else
goto num1;
1=P1^0不能作左值?跪求指点
if()语句的作用是如果括号内的值为真则执行后面的语句;
你的本意是P1^0为真执行、P0为0x40执行;
应该这样写成 if(P1^0==1)、if(P0==0x40) ;
其次、= 号是赋值符号不是等于号,运算是自右往左,==是测试等于;
所以1=P1^0意思是把P1^0的值赋给1,这是不合理的! 参考技术A “1”是常量,不能作为左值,
应该写为if(1==P0)
程序下面还有一个错误:if(P0=0x40)改为if(P0==0x40),不然可能出错。本回答被提问者和网友采纳
单片机keil编译代码时报错error C213: left side of asn-op not an lvalue
unsigned char i=0;
unsigned char *p[3];
unsigned char *buff= buf;
while((p=strtok(buff,";"))!=NULL) ----(此句报错)
i++;
buff=NULL;
请问什么原因?
缺少了对变量 p 的地址引用,改成 p[i] 如下:
while(( p[i] =strtok(buff,";"))!=NULL) 参考技术A p[n]=strtok(buff,";");
while(p[n]!=NULL) 你为什么不可以这样写呢!还有就是你这个p你定义的是指针变量; 参考技术B while((p[i]=strtok(buff,";"))!=NULL)本回答被提问者采纳 参考技术C 一个全局变量就这样给废掉了。
以上是关于keil c51 left side of asn-op no lvalue怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章
error C213: left side of asn-op not an lvalue
出现left side of asn-op not an lvalue 该怎么改