Sail E0 Webinar
Question


What will be the output of the program?


##include<stdio.h>
#define CUBE(x) (x*x*x)
int main()
{
int a, b=3;
a = CUBE(b++);
printf("%d, %d\n", a, b);
return 0;
}
Options:
A .  9, 4
B .  27, 4
C .  27, 6
D .  Error
Answer: Option C


The macro function CUBE(x) (x*x*x) calculates the cubic value of given number(Eg: 103.)



Step 1: int a, b=3; The variable a and b are declared as an integer type and varaible b id initialized to 3.



Step 2: a = CUBE(b++); becomes


=> a = b++ * b++ * b++;


=> a = 3 * 3 * 3; Here we are using post-increement operator, so the 3 is not incremented in this statement.


=> a = 27; Here, 27 is store in the variable a. By the way, the value of variable b is incremented by 3. (ie: b=6)



Step 3: printf("%d, %dn", a, b); It prints the value of variable a and b.


Hence the output of the program is 27, 6.





Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers