Evaluating C expressions: left to right and right to left
Not what you're looking for?
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?
Purchase this Solution
Solution Summary
We use the following example to clarify how C expressions are evaluated from left to right and from right to left.
int fun(int *k) {
*k += 4;
return 3 * (*k) - 1;
}
void main() {
int I = 10, j = 10, sum1, sum2;
sum1 = (I / 2) + fun(&i);
sum2 - fun(&j) + (j / 2);
}
Solution Preview
a. sum1 = 46, sum2 = 48
sum1 = (10/2) + fun(&I);
fun(10)=>
I+=4 => I = 14
return 3*(14) -1 => return 41;
sum1 = (10/2) + 41 => sum1 = 46;
sum2 ...
Purchase this Solution
Free BrainMass Quizzes
Basic Computer Terms
We use many basic terms like bit, pixel in our usual conversations about computers. Are we aware of what these mean? This little quiz is an attempt towards discovering that.
Basic Networking Questions
This quiz consists of some basic networking questions.
C# variables and classes
This quiz contains questions about C# classes and variables.
C++ Operators
This quiz tests a student's knowledge about C++ operators.
Java loops
This quiz checks your knowledge of for and while loops in Java. For and while loops are essential building blocks for all Java programs. Having a solid understanding of these constructs is critical for success in programming Java.