c - What does this program do? (Self calling main function + getchar) -
can me explain question past exam paper? when compile it, never satisfied input. also, reason self calling main function?
what following program do? justify answer.
#include <stdio.h> int main ( void ) { int c; if (( c = getchar() ) != eof) { main(); printf("%c", c); } return 0; }
the program is satisfied, eof returned getchar(), achieved entering ctrl^z (windows console) or ctrl-d (linux). program continue recurse until happens (unless stack breaks). after getting eof drops out of recursion printing inputs in reverse order (including character representing eof).
note eof typed must first keystroke after enter key.
Comments
Post a Comment