Though this problem seems complex, the concept behind this program is straightforward; display the content from the same file you are writing the source code.

In C programming, there is a predefined macro named __FILE__ that gives the name of the current input file.
#include <stdio.h>
int main() {
// location the current input file.
printf("%s",__FILE__);
}
C program to display its own source code
#include <stdio.h>
int main() {
FILE *fp;
int c;
// open the current input file
fp = fopen(__FILE__,"r");
do {
c = getc(fp); // read character
putchar(c); // display character
}
while(c != EOF); // loop until the end of file is reached
fclose(fp);
return 0;
}