Answer:
a. operands are evaluated left toright. 7
b. operands are evaluated right toleft. 12
Step-by-step explanation:
a. operands are evaluated left toright. 7
b. operands are evaluated right toleft. 12
left to right
int fun (int *i) {
*i +=5; we add 5to x making x 8
return4; we return 4 tomain
}
void main ( ) {
int x = 3;
x = x + fun(&x); x starts at 3 in fun it ischanged to 8 but the 3 is already being used the 4 fromfun is added (3+4) to it making it 7
}
right toleft x starts at 3 in fun x gets changed to 8 and fun is returned as 4so we have 4 + 8 = 12
Paraphrasing
left to right it's is 3 + 4 =7 original value of x is used
right to left it is 4 + 8 =12 x is used as it was changed by fun, since fun was alreadyexecuted