write a program wch produces its own source code aas its
output?
Answer Posted / guest
#include <stdio.h>
int main(int argc, char** argv)
{
/* This macro B will expand to its argument, followed by a
printf
command that prints the macro invocation as a literal
string */
#define B(x) x; printf(" B(" #x ")\n");
/* This macro A will expand to a printf command that prints
the
macro invocation, followed by the macro argument itself. */
#define A(x) printf(" A(" #x ")\n"); x;
/* Now we call B on a command to print the text of the
program
up to this point. It will execute the command, and then
cause
itself to be printed. */
B(printf("#include <stdio.h>\n\nint main(int argc, char**
argv)\n{\n/*
This macro B will expand to its argument, followed by a
printf\n
command that prints the macro invocation as a literal
string
*/\n#define B(x) x; printf(\" B(\" #x \")\\n\");\n\n/*
This macro
A will expand to a printf command that prints the\n
macro invocation, followed by the macro argument itself.
*/\n#define A(x)
printf(\" A(\" #x \")\\n\"); x;\n\n/* Now we call B on
a command
to print the text of the program\n up to this point. It
will execute
the command, and then cause\n itself to be printed.
*/\n"))
A(printf("/* Lastly, we call A on a command to print the
remainder
of the program;\n it will cause itself to be printed,
and then
execute the command. */\n}\n"))
/* Lastly, we call A on a command to print the remainder of
the program;
it will cause itself to be printed, and then execute the
command. */
}
Is This Answer Correct ? | 2 Yes | 4 No |
Post New Answer View All Answers
How do I read the arrow keys? What about function keys?
what is the diffrenet bettwen HTTP and internet protocol
Differentiate fundamental data types and derived data types in C.
Where are c variables stored in memory?
How can I dynamically allocate arrays?
Calculate 1*2*3*____*n using recursive function??
What are the features of c language?
What does return 1 means in c?
Why can’t we compare structures?
Write a program to reverse a given number in c language?
Why do we use c for the speed of light?
Are there namespaces in c?
How can I direct output to the printer?
What is pragma c?
Explain Basic concepts of C language?