It can take on the form, for example,
variable := expression
or often an equals sign is used:
variable = expression
The semantics of this operation is that the current state of the executing program is modified:
expressionis evaluated in the current state of the program.
variableis assigned the computed value, replacing the prior value of that variable.
ais a numeric variable, the assignment
a := 2*ameans that the content of the variable
ais doubled after the execution of the statement.
A common error regarding the assignment operation is when programmers confuse it with the equivalence expression. In most languages, the assignment operator is a single equal sign (=) while the equivalence operator is a a pair of equal signs (==). Often, the programmer neglects to use two equal signs when he or she wishes to make a comparison, especially when he is proficient in using languages (e.g., BASIC) where the two operators are the same: a single equal sign.
A consequence of this error is that the assignment is made, and the operation then returns the value assigned, which usually is a TRUE value. If the supposed equivalence expression were used as the condition in an if statement, what is often executed is the then clause, which is a program logic error. Most compilers and interpreters are able to flag these types of errors, warning the programmer that a possible assignment operation was unintended in an if statement.