Answer Posted / 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 |
Post New Answer View All Answers
Why should I use standard library functions instead of writing my own?
What is bash c?
What are void pointers in c?
What is array within structure?
which is an algorithm for sorting in a growing Lexicographic order
What are the 4 types of organizational structures?
How does free() know explain how much memory to release?
What is nested structure?
The number of bytes of storage occupied by short, int and long are a) 2, 2 and 4 b) 2, 4 and 4 c) 4, 4 and 4 d) none
How can I remove the trailing spaces from a string?
What are the Advantages of using macro
What are the ways to a null pointer can use in c programming language?
How many main () function we can have in a project?
What is malloc() function?
What is the use of getchar() function?