Explore BrainMass
Share

Explore BrainMass

    The Direction of Passing Parameters in C

    This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

    Let the function fun be defined as:

    int fun(int *k) {
    *k += 4;
    return 3 * (*k) - 1;
    }

    Suppose fun is used in a program as follows:

    void main() {
    int I = 10, j = 10, sum1, sum2;
    sum1 = (I / 2) + fun(&i);
    sum2 - fun(&j) + (j / 2);
    }

    What are the values of sum1 and sum2?
    a. If the operands in the expressions are evaluated left to right?
    b. If the operands in the expressions are evaluated right to left?

    Now the answers are: Let the function fun be defined as:

    int fun(int *k) {
    *k += 4;
    return 3 * (*k) - 1;
    }

    Suppose fun is used in a program as follows:

    void main() {
    int I = 10, j = 10, sum1, sum2;
    sum1 = (I / 2) + fun(&i);
    sum2 - fun(&j) + (j / 2);
    }

    What are the values of sum1 and sum2?
    a. If the operands in the expressions are evaluated left to right?
    b. If the operands in the expressions are evaluated right to left? Let the function fun be defined as

    int fun(int *k) {
    *k += 4;
    return 3 * (*k) - 1;
    }

    Suppose fun is used in a program as follows:

    void main() {
    int I = 10, j = 10, sum1, sum2;
    sum1 = (I / 2) + fun(&i);
    sum2 - fun(&j) + (j / 2);
    }

    What are the values of sum1 and sum2?
    a. If the operands in the expressions are evaluated left to right? Sum1=46, Sum2=48
    b. If the operands in the expressions are evaluated right to left? Sum1=48, Sum2=46

    © BrainMass Inc. brainmass.com October 9, 2019, 8:17 pm ad1c9bdddf
    https://brainmass.com/computer-science/c/the-direction-of-passing-parameters-in-c-146019

    Solution Preview

    a. If the operands in the expressions are evaluated left to right?

    sum1 = 46;
    sum2 = 48;

    Code:

    int fun(int *k) {
    *k += 4;
    return 3 * (*k) - 1;
    }

    void main()
    {
    int i = 10, ...

    Solution Summary

    This solution provides a detailed, step by step response illustrating how a parameter will change in a C function by value or address, and direction as well.

    $2.19