#include <stdio.h>
#define sqr(x) (x*x)
int main()
{
int x=2;
printf("value of x=%d",sqr(x+1));
}
What is the value of x?
Answer Posted / jugal
The OUTPUT of the program wud be
"value of x=9"
NOTE:
#define sqr(x) (x*x) and
#define sqr(x) x*x
are two very different things
what Divakar and all are saying is referring to the 2nd
one, where as in this case the 1st one is given
Coming to the actual question
The value of x will remain 2, since its value is not being
changed anywhere in the program, its just being passed to a
macro, but NOT modified there either.
Try adding a line at the end of the program
printf("x=%d",x);
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
What are the c keywords?
Can a pointer be static?
What is meant by recursion?
how many errors in c explain deply
What does double pointer mean in c?
Explain what is the purpose of "extern" keyword in a function declaration?
What is the stack in c?
How is = symbol different from == symbol in c programming?
Why c is called a middle level language?
Which of these functions is safer to use : fgets(), gets()? Why?
What are qualifiers in c?
What is fflush() function?
List the difference between a "copy constructor" and a "assignment operator"?
What is a good way to implement complex numbers in c?
What is the advantage of using #define to declare a constant?