Ask Question
5 April, 12:55

Consider the following C program: int fun (int * i) { * i + = 5; return 4; } 352 Chapter 7 Expressions and Assignment Statements void main () { int x = 3; x = x + fun (&x); } What is the value of x after the assignment statement in main, assuming a. operands are evaluated left to right. b. operands are evaluated right to left

+4
Answers (1)
  1. 5 April, 13:21
    0
    a. operands are evaluated left toright. 7

    b. operands are evaluated right toleft. 12

    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
Know the Answer?
Not Sure About the Answer?
Find an answer to your question 👍 “Consider the following C program: int fun (int * i) { * i + = 5; return 4; } 352 Chapter 7 Expressions and Assignment Statements void main ...” in 📗 Computers & Technology if the answers seem to be not correct or there’s no answer. Try a smart search to find answers to similar questions.
Search for Other Answers