c语言错误,能给说明一下不

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:34:48
C:\Documents and Settings\Administrator\1.c(76) : error C2106: '=' : left operand must be l-value
有好几行都是这样的错误,例如(length1 > length2) ? p = p1 : p = p2;其中struct LNode *p,*p1,*p2;为什么呀?l-value是什么意思呀,回答的满意,分说也会追加到满意
if(operate == '-')
{
while(p1 != NULL)
{
printf(" %s",p1 -> prior -> data);
p1 = p1 -> prior;
}
printf(" - ");

while(q1 != NULL)
{
printf(" %s",q1 -> prior -> data);
q1 = q1 -> prior;
}
printf(" = ");

if(length1 < length2)
{
q = p2;
printf("-");
}
else
q = q2;

while(p2 != NULL && q2 != NULL)
{
if((p -> data - i) < q -> data)
{
p -> data = p -> data +10;
}
p -> data = p -> data - i - q -> data;
((p -> data - i)<

请写出完整的程序.

l-value是左值的意思,就是可以被赋值的量(变量).

p ?a : b ;的意思是:先判断p是否为真,倘若p为真就执行语句a,否则就执行语句b。struct LNode *p,*p1,*P2;其中struct 是定义结构体的关键字,LNode是结构体名,这句语句的意思就是,定义三个类型为struct LNode的指针变量。你可以把struct LNode看成和 int 、long、float、char一样。l-value
我也不知道你指的是什么,你应该把代码贴出来。

吧你的程序贴上 莫不然错误不好理解

l-value貌似是左值,
还是把源代码贴上来比较好