/*Read a line of text and write it out reversely */
#define EOF '\n'
void reverse(); /*Function prototype*/
printf("Enter a line of text:\n\n");
if((c = getchar())!=EOF)
>What any modification needed to be done?
While recursion could technically be described as a stack, I seriously doubt that's what your program requirements meant by "stack object". More likely, you're supposed to implement your own stack using an array of char.
>#define EOF '\n'
EOF is a standard name, as has already been said. There's also no reason to hide '\n' behind a macro. One might do so for two reasons:
1) The macro offers clarifying information such that a value can be more readily understood by readers. '\n' is a well known escape sequence, to the point that any reader who doesn't know what it means likely doesn't know C at all.
2) The macro offers a way to use a value such that the usage is always portable even when the value is not. '\n' is already portable across all implementations.