#define f(x)
main()
{
printf("\n%d",f(2+2));
}
Answers were Sorted based on User's Feedback
Answer / g.j.hemalatha
f(x) is an identifier.No constants is defined in the macro
definition.So the answer is a garbage value.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / priyadarshan kasta
it will show a error message as expression syntax error
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / civa
Compiler Error "error: syntax error before ')' token"
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / suman halder
within printf statement,f(2+2) i.e f(4) must return a value so that this value could get printed through %d format specifier..
Now,as f(x) is a macro template and macro expansion code for this template is not specified..so,here the situation is like,we are trying to return an integer value from a function which is having a "void" return type..
so,compiler flashes "Expression syntax error"..as during preprocessing macro template can't be replaced by macro expansion...
| Is This Answer Correct ? | 0 Yes | 0 No |
Write a function to find the area of a triangle whose length of three sides is given
what is the difference between embedded c and turbo c ?
what is difference between ++(*p) and (*p)++
17 Answers Accenture, HCL, IBM,
Tell us bitwise shift operators?
What is maximum size of array in c?
Write a code to achieve inter processor communication (mutual exclusion implementation pseudo code)?
What is keyword with example?
What is the difference between malloc() and realloc()?
What are data breakpoints?
Where static variables are stored in memory in c?
How many levels of pointers can you have?
What is assert and when would I use it?