Question: Consider the following program: int cmp (int *i) { *i += 5; return 2; } void main () { int x = 3; if ((x
Consider the following program:
int cmp (int *i) {
*i += 5;
return 2;
}
void main () {
int x = 3;
if ((x == 2) && (cmp (&x)))
x++;
x = x + cmp (&x);
printf("%d ",x);
}
What is the output of this program assuming:
a- operands are evaluated left to right and operators perform short-circuit evaluation.
b- operands are evaluated left to right and operators do not perform short-circuit evaluation.
c- operands are evaluated right to left and operators perform short-circuit evaluation.
d- operands are evaluated right to left and operators do not perform short-circuit evaluation.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
