这个C编译错误提示什么意思。。。lvalue required as left operand of assignment

这段C代码i == n?head->next=NULL:head->next = p;
提示错误lvalue required as left operand of assignment|,什么意思。。

c语言 提示:lvalue required as left operand of assignment,是设置错误造成的,解决方法如下:

1、首先打开C语言编程软件,来编写一个程序。

2、对写好的程序进行编译,发现弹出窗口出现Errors。说明程序有错误要进行改正。

3、按照这条准则可以发现程序中第六行b=36,这条语句中最后不是以分号(;)结尾而是以逗号(,)结尾,所以是出现的第一个错误。所以要把逗号改为分号。

4、改正之后继续进行编译,还出现错误,上面现实‘average’的字样说明错误就和这个提示的字符有关。

5、这时需要到程序中去找到提示的单词,发现第八行的average=sum/2.0与第二行定义的aver不同,需要把这个变量修改成一个变量。把average修改成第二行定义的aver。

6、修改完成后,继续编译这时程序就出现成功的提示了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-31

lvalue required :需要左值。

C语言编译常见错误提示

Ambiguous operators need parentheses 不明确的运算需要括号   

Ambiguous symbol ''xxx''  不明确的符号  

Argument list syntax error  参数表语法错误  

Array bounds missing  丢失数组界限符  

Array size too large  数组尺寸太大  

Bad character in parameters  参数中有不适当的字符  

Bad file name format in include directive  包含命令中文件名格式不正确   

Call of non-function  调用未定义的函数   

Call to function with no prototype  调用函数时没有函数说明 

Cannot modify a const object  不允许修改常量对象  

Case outside of switch  漏掉了case 语句  

Case syntax error  Case 语法错误   

Code has no effect  代码不可述不可能执行到  

Compound statement missing  分程序漏掉

Conflicting type modifiers  不明确的类型说明符 

Constant expression required  要求常量表达式   

Constant out of range in comparison  在比较中常量超出范围  

Conversion may lose significant digits 转换时会丢失意义的数 

Could not find file ''xxx''  找不到XXX文件  

Declaration missing   说明缺少

Declaration syntax error  说明中出现语法错误   

Default outside of switch  Default出现在switch语句之外 

Define directive needs an identifier  define命令需要标识符  

Division by zero  用零作除数   

Do statement must have while  Do语句中需要while部分 

Enum syntax error  枚举类型语法错误   

Enumeration constant syntax error  枚举常数语法错误  

Error directive: xxx  错误的编译预处理命令xxx  

Error writing output file  写输出文件错误  

Expression syntax error  表达式语法错误  

Extra parameter in call  调用时出现多余参数  

File name too long  文件名太长  

Function definition out of place  函数定义位置错误 

Function should return a value  函数必需返回一个值  

Hexadecimal or octal constant too large  16进制或8进制常数太大  

Illegal character ''x''  非法字符x  

Illegal initialization  非法的初始化  

Illegal octal digit  非法的8进制数 

Illegal pointer subtraction  非法的指针相减  

Illegal structure operation  非法的结构体操作  

Illegal use of floating point  非法的浮点运算 

Illegal use of pointer  指针使用非法   

Improper use of a typedef symbol  类型定义符号使用不恰当  

In-line assembly not allowed  不允许使用行间汇编  

Incompatible storage class  存储类别不相容  

Incompatible type conversion  不相容的类型转换  

Incorrect number format  错误的数据格式 

Incorrect use of default  default使用不当 

Invalid indirection  无效的间接运算  

Invalid pointer addition  指针相加无效  

Irreducible expression tree  无法执行的表达式运算  

Lvalue required  需要左值   

Macro argument syntax error  宏参数语法错误  

Macro expansion too long  宏的扩展以后太长   

Mismatched number of parameters in definition  定义中参数个数不匹配   

Misplaced break  此处不应出现break语句

本回答被网友采纳
第2个回答  推荐于2018-02-22
运算符优先级问题,=号的优先级低于?:运算符,
i == n?head->next=NULL:head->next = p;相当于(i == n?head->next=NULL:head->next) = p;
head->next = p需要用括号括起来,改成
i == n?(head->next=NULL):(head->next = p);本回答被提问者和网友采纳
第3个回答  2012-02-12
i == n?head->next=NULL:head->next = p;
改成:
head->next=(i==n?NULL:p);

...lvalue required as left operand of assignment
c语言 提示:lvalue required as left operand of assignment,是设置错误造成的,解决方法如下:1、首先打开C语言编程软件,来编写一个程序。2、对写好的程序进行编译,发现弹出窗口出现Errors。说明程序有错误要进行改正。3、按照这条准则可以发现程序中第六行b=36,这条语句中最后不是以分号(;)结尾...

C++编译出错lvalue required as left operand of ass...?
错误lvalue required as left operand of assignment的意思是,赋值运算符需要一个左值运算数。出错误的语句(double)earth-=b;中earth应该是左值,但是更高优先级的(double)强制类型转换运算,返回强制类型转换后的结果,使其变成了右值()错误重现 解决方法是去掉(double)

...lvalue required as left operand of assignment
这行取一个变量的地址不能对其赋值。

...Lvalue required as left operand of assignment.
include<stdio.h>int f(int n){int result = 0;if(n<=2)result = 1;elseresult=f(n-1)+f(n-2);return result;}int main(){int n;printf("请输入月份:\\n");scanf("%d",&n);printf("第个%d月的兔子总量为:%d\\n",n,f(n));return 0;} ...

编译显示[Error] lvalue required as increment operand
这两个运算符C语言提供的增1运算符和减1运算符,它们都是单目运算符,只需要一个操作数,但操作数只能是变量,不能是常量或表达式。至于你说的它们的使用形式,只能跟一个变量搭配使用,作前缀运算符或后缀运算符,但是只要是变量就行。记住它们的作用是使变量的值增加1 个单位或减少1个单位,而并是...

lvalue required as left operand of assignment
赋值语句错误

eror:lvalue required as left operand of assignment,
判断是 == 不是= =是赋值, 然后前面的a%100+b>=0 我不知道+ 和判断 >=的优先级,但是觉得你最好加括号,if((a%100+b)>=0)

lvalue requireifd as left operand of assignmentif (cock*5+hen*3...
cock*5+hen*3+chicken\/3.0 得到的结果是float型,浮点型没办法直接等的 可以用abs(a-b)<10e-6之类的来进行比较,也就是说绝对值小于某个非常小的值的时候就认为两个浮点值相等了。还有,这里判断相等是==,单等号是赋值

...lvalue required as left operand of assignment 编程出现这个怎么办...
if(year%4==0)if(year%100!=0)leap=1;else if(year%400)==0)leap=1;if(leap)printf("%d",year);记住,比较的时候用==

C 语言如图选中行,提示lvalue required as unary '&' operand
&的操作符…是不是你传了指针的指针 看time()这个函数是不是返回的本来就是指针 把&删了试试

相似回答