1樓:網友
您好!你的語句是錯誤的,事實上,在c++中,=與==是不同,比較不同是用==,而=是賦值語句。
a*a+b*b=c*c這樣的語句導致出現left operand must be l-value 錯誤。
a = b這樣的賦值語句中,a必須是l-value(左值),為可以賦值的變數(不能是常量)。而b是r-value(右值),是賦值給左值的變數(或者常量)。a*a + b*b得到的值是常量,是不可以作為左值的。
你的程式只需要將=改為==即可以正常執行了。即由賦值改為你想要的比較語句。
祝你學習進步!希望能有幫助!
2樓:網友
你的判斷相等的等號和賦值號搞錯了:
修改後程式:
#include
void main()
int a,b,c;
do;else cout<<"不能構成三角形";}while(a&b&c);
c++出現left operand must be l-value
3樓:煒煒
你的if(strcmp(s[k],s[k+1])>0)部分出錯了,二維陣列不能這樣用,如果學過指標可以用指標操作,這裡我建議你改成下邊的形式。
if (strcmp(s[k], s[k + 1])>0)}
4樓:昭哥不4人
建議以後把行數也貼出來好了,看著麻煩,哈。
5樓:
就是賦值過程中=左邊不是變數。
6樓:
char * start;
for (;str)!='\0';str=str+n)改為:char *start = str;
for (;start)!='\0';start=start+n)
因為str表示乙個陣列的起始位置,並不是乙個指標,不能隨意移動。將其賦給乙個指標,該指標則指向陣列的起始位置。
7樓:稽仲諶雨晨
你的全域性變數中有乙個int的陣列名字叫b,而在jsval函式中你又申明瞭乙個int型別的變數b,後者在jsval函式中會隱藏掉前者,所以你不可以在jsval函式中些b[cnt]這類,因為b不會被認為是陣列型別,而會被認為是int型別。
c語言left operand must be l-value該怎麼解決
8樓:
(*psum - pmax - pmin) / (*pmem - 2)
pmax和pmin中間是減號,不是等號。
9樓:網友
把那一行的等號換成減號,你寫的那句話意思好比100-50=30
明顯照著敲**敲錯了。
10樓:青衣風雨
*psum-*pmax=*pmin ==》= 改成 - 號(去掉乙個最高分,去掉乙個最低分)
11樓:網友
解釋:賦值號(『=』)左邊的運算元必須是乙個左值。通俗的說:左值就是可以改變的值的變數。
發生這個錯誤的原因是你把常量(或不可改變值的變數)放到了賦值號的左邊。
例如:int a[3];
a++;//這裡就相當於a=a+1;注意a是陣列a[3]的首位址,在宣告a[3]後,將開闢一段連續記憶體空間。就是這段連續記憶體空間的首位址,是乙個常量。所以這裡將常量放到了賦值號的左邊是錯誤。
類似的,在c語言中是不可以寫2++;的。
例如:const int num=5;
int b=3;
num=b+4;//這裡num為不可改變的值,不能放到賦值號的左邊。
總結:賦值號左邊的值只能是左值。而上面兩個例子中的a,num都不是左值,所以在編譯時會出錯。
關於 修改。
int (*a)[3] = new int[2][3];
a[0] = ;
a[1] = ;
出現的相應報錯的解決辦法:
1)迴圈語句 逐個賦值 ;
2)整體賦值。
int (*a)[3] = new int[2][3];
int tmp[2][3] = ,}
a = tmp;
12樓:匿名使用者
試試吧(float)去掉,改成試試?能不能行我也不知道。
left operand must be l-value
13樓:網友
if (50*i+30*j+j/30 = 100)應該改成if (50*i+30*j+j/30 == 100)
因為你誤寫成了賦值表示式,編譯器抱怨等號左邊不是個「左值」。
左值」的意思是乙個能被賦值的表示式(比如乙個變數,乙個指標取*號等等)
14樓:手機使用者
對於你在評價裡提的問題:"為什麼我這個程式設計不能輸出有效數值得。。"
我不明白你的程式想計算什麼,你可以再開個問題問問。
另外你的兩個while語句直接都跟了分號,肯定不對。
函式這個地方老是提示「left operand must be l-value",怎麼解決
15樓:網友
那個語句漏掉了乙個感嘆號,在p1->next的後面加上乙個感嘆號即可應該寫成。
while(num!=p1->number&&p1->next!=null)
程式設計出現'=' : left operand must be l-value問題怎麼改
16樓:哥德堡快遞
等號左邊必須是可修改變數或指標指向的記憶體。for(i*i=a;z*z=b;k*k=c)這句不知所云。