"lvalue required as left operand of assignment" error in C


 
Thread Tools Search this Thread
Top Forums Programming "lvalue required as left operand of assignment" error in C
# 1  
Old 11-27-2011
"lvalue required as left operand of assignment" error in C

Hey all. I've been working on some fun with C and decided to write a Rock Paper Scissors game. The problem is, that when I try to compile the file, it gives "lvalue required as left operand of assignment" error. The error line is here:
Code:
for ((point1=0 && point2=0); ((point1=3) || (point2=3)); randStart++) {

point1, point2 and randStart are integer values by the way.

I use gcc and vim (which I doubt will help) and can give you all the code, if necessary.
# 2  
Old 11-27-2011
Assuming you are wanting to initialise the variables to zero, and loop until one is equal to three:

Code:
for( point1 = 0, point2 = 0; point1 == 3 ||  point2 == 3; randStart++) {


Last edited by agama; 11-27-2011 at 03:54 PM.. Reason: formatting
This User Gave Thanks to agama For This Post:
# 3  
Old 11-28-2011
How are point1, point2 and randStart declared?

Also, as agma points out, it looks like you are confusing assignment and comparison:

Code:
// '=' assigns x the value 3
x = 3;

// '==' tests if x has the value 3
if (x == 3)
    /* ... */

This User Gave Thanks to JohnGraham For This Post:
# 4  
Old 11-28-2011
A little explanation of an "lvalue" might be in order.

An "lvalue" is something that can have the result of any computation assigned to it - it's pretty much some location in memory where you can put values. The statement "int abc;" declares and integer variable "abc", which can be an lvalue. The address of abc - "&abc" - is not an lvalue, because you can't assign a result to that - the address of the variable is the address. You can assign something to where that address points to by using the "*" operator, so "*( &abc )" is actually an lvalue. The integer constant "3" is not an lvalue.

The concept of an lvalue is pretty simple once you realize what it means.
# 5  
Old 11-30-2011
Thanks all. It seems I was misusing && instead of comma. I also appreciate the info about lvalue. Thank you again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Homework & Coursework Questions

Compiler error "lvalue required as left operand of assignment"

1. After trying to compile code error is given Lvalue required as left operand of assignment. 2. Relevant commands, code, scripts, algorithms: if , else if 3. The attempts at a solution (include all code and scripts): /* File: incircles.cpp Created by: James Selhorst ... (2 Replies)
Discussion started by: c++newb
2 Replies

3. Programming

lvalue required as left operand of assignment

z < 0 ? z= z + 2*r*cos(theta) : z= z - 2*r*cos(theta); Does anyone know what is wrong here? I've got compiler msg: lvalue required as left operand of assignment All variables are "double". I'm using gcc compiler (but I don't think that matters) (5 Replies)
Discussion started by: EmilyTheStrange
5 Replies

4. UNIX for Dummies Questions & Answers

Unix "look" Command "File too large" Error Message

I am trying to find lines in a text file larger than 3 Gb that start with a given string. My command looks like this: $ look "string" "/home/patrick/filename.txt" However, this gives me the following message: "look: /home/patrick/filename.txt: File too large" So, I have two... (14 Replies)
Discussion started by: shishong
14 Replies

5. Shell Programming and Scripting

operand expected (error token is "<")

Hi, i am getting error from below script. Error: s1.sh: line 19: ((: j<: syntax error: operand expected (error token is "<") #!/bin/bash str=$(ps -eaf | grep smon | grep -v grep | awk ' {print $8}' | cut -c10-18) i=1 while do temp=`echo $str|awk '{print $"'$i'"}'` ... (12 Replies)
Discussion started by: lakshmikanthe
12 Replies

6. UNIX for Dummies Questions & Answers

> 5 ")syntax error: operand expected (error token is " error

im kinda new to shell scripting so i need some help i try to run this script and get the error code > 5 ")syntax error: operand expected (error token is " the code for the script is #!/bin/sh # # script to see if the given value is correct # # Define errors ER_AF=86 # Var is... (4 Replies)
Discussion started by: metal005
4 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Programming

Need help compiling in C: lvalue required as left operand of assignment

Hi, I am trying to compile a program (not coded by me), and i'm getting this error: 203: error: lvalue required as left operand of assignment As you may be guessing, the program doesn't compile, the line number 203 is the following: ... (2 Replies)
Discussion started by: Zykl0n-B
2 Replies

9. Solaris

sendmail "root... User address required." error

I'm running sendmail (8.13.8+Sun/8.13.8/Submit) solaris 10. When I send mail to root at the command line (whether I use a full-qualified address or just root), I get the error message root... User address required. Sending mail to root (either at the command line or in a cron job),... (10 Replies)
Discussion started by: csgonan
10 Replies

10. Shell Programming and Scripting

Avoid "++ requires lvalue" Error in Loop Calculation

Hi All, Please help me to perform sum of values in a loop, I am getting following error: "total=0++432907765772: ++ requires lvalue" where actual statement is as : total=$total+$amt where amt can have +ve or -ve values Thanks Sandeepb (3 Replies)
Discussion started by: sandeepb
3 Replies
Login or Register to Ask a Question