>I have difficulty to solve it
What have you tried? Saying you've had "difficulty" is pretty vague.

Get several sheets of paper, write one letter of a word on each one.
"push" the letters onto a "stack"
Then figure out how to get the letters back in reverse order to print them.

/*Read a line of text and write it out reversely */

#include<stdio.h>
#define EOF '\n'
void reverse(); 			/*Function prototype*/

main()
{
	printf("Enter a line of text:\n\n");
	reverse();
}

void reverse()
{
	char c;
	if((c = getchar())!=EOF) 
	reverse();
	putchar(c);
	return;
}

What any modification needed to be done?

well your main function should be

int main(){

  return 0;
}

Also EOF is a reserved macro. So call yours something else like "NEWLINE" or such.

getchar() returns an int, so that char c, needs to be int c

Code without proper tag it is frowned upon. Next time make sure you know how to do it. Example here.

>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.

This article has been dead for over six months. Start a new discussion instead.