C Programming - C Preprocessor - Discussion
Discussion Forum : C Preprocessor - Find Output of Program (Q.No. 4)
4.
What will be the output of the program?
#include<stdio.h>
#define JOIN(s1, s2) printf("%s=%s %s=%s \n", #s1, s1, #s2, s2);
int main()
{
char *str1="India";
char *str2="BIX";
JOIN(str1, str2);
return 0;
}
Discussion:
35 comments Page 4 of 4.
Sruthi said:
9 years ago
The rule is if the parameter name is preceded by a # in the macro expansion, the combination (of # and parameter) will be expanded into a quoted string with the parameter replaced by the actual argument. This can be combined with string concatenation to print desired the output.
(2)
Jayesh said:
8 years ago
This because there we use the JOIN STRING FUNCTION in which the str1 print& then next str2join the str1.
Because we have to use join string function.
Because we have to use join string function.
(1)
Saravana said:
8 years ago
# is called Stringizing operator, whatever you pass (here variable name ) is converted to String, so result come with the variable name.
(1)
Ashwini said:
8 years ago
#define JOIN(s1, s2) printf("%s=%s %s=%s \n", #s1, s1, #s2, s2);
How ?
please help me to understand it?
How ?
please help me to understand it?
Poovarasan said:
6 years ago
Not getting it. Please explain me.
(1)
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers