Check right skewed binary tree

A binary tree in which each node is having either only right sub-trees or no sub-trees is called as right skewed binary tree.In this program,binary tree is first created.Then every child node is parsed.While parsing only the right sub-trees are considred as valid and if any left sub-tree is found then that binary tree is not a right skewed binary tree.

#include < stdio.h >
#include < conio.h > 
#include < alloc.h >
#define new_node (struct node*)malloc(sizeof (struct node))
struct node
{
	int data;
	struct node *lc;
	struct node *rc;
};
struct node *create_bin_pre_rec();
void main()
{
	struct node *r;
	int reply;
	clrscr();
	printf("\nCreate a binary tree \n");
	r = create_bin_pre_rec();	
	printf("\n The binary tree is \n");
	print_bin_pre_rec(r);
	reply = check_right_skewed(r);
	if( reply == 1 )
		printf("\n Right skewed binary tree ");
	else
		printf("\n Not right skewed binary tree ");
}
struct node *create_bin_pre_rec()
{
	struct node *c;
	int data;
	printf("\nData : ");
	scanf("%d",&data);
	if( data == -1)
		return(NULL);
	else
	{
		c = new_node;
		c->data = data;
		c->lc = create_bin_pre_rec();
		c->rc = create_bin_pre_rec();
		return(c);
	}
} // create
int print_bin_pre_rec(struct node *t)
{
	if( t != NULL)
	{
		printf("%4d",t->data);
		print_bin_pre_rec(t->lc);
		print_bin_pre_rec(t->rc);
	}//if
	return;
} // print
int check_right_skewed(struct node *t)
{
	int reply;
	if( t == NULL)
		return(1);
	else
	if( t->lc != NULL)
		return(0);
	else
	{
		reply = check_right_skewed(t->rc);
		return(reply);
	} // else
} // check left skewed