来帮小弟我看看二叉链表的有关问题~

高手进来帮我看看二叉链表的问题~~~~
/*======================================================*/
/*程序名称:2.c */
/*程序目的:二叉树的二叉链表存储结构 */
/*Written   By   N3060120506 */
/*======================================================*/
#include   <stdlib.h>

struct   tree
{ struct   tree   *left;
char   data;
struct   tree   *right;
};
typedef   struct   tree   treenode;
typedef   treenode   *b_tree;

/*------------------------------------------------------*/
/* 插入二叉树的节点 */
/*------------------------------------------------------*/
b_tree   insert_node(b_tree   root,   char   node)
{
b_tree   newnode;
b_tree   currentnode;
b_tree   parentnode;

newnode   =   (   b_tree   )   malloc   (   sizeof   (treenode)   );

newnode-> data   =   node;
newnode-> right   =   NULL;
newnode-> left   =   NULL;

if   (root   ==   NULL)
return   newnode;
else
{
currentnode   =   root;
while   (   currentnode   !=   NULL)
{
parentnode   =   currentnode;
if(currentnode-> data   >   node)
currentnode   =   currentnode-> left;
else
currentnode   =   currentnode-> right;
}
if   (parentnode-> data   >   node)
parentnode-> left   =   newnode;
else
parentnode-> right   =   newnode;
}
}


/*------------------------------------------------------*/
/* 建立二叉树 */
/*------------------------------------------------------*/
b_tree   create_linklist(char   *data,   int   len)
{
b_tree   root   =   NULL;
int   i;

for(i=0,   i <len,   i++)
root=insert_node(root,   data[1]);
return   root;
}


/*------------------------------------------------------*/
/* 输出链表数据 */
/*------------------------------------------------------*/
void   Print_List(b_tree   Head)
{
int   i;
b_tree   Pointer;
Pointer   =   Head;
while   (   Pointer   !=   NULL   )
{
for(i=1;i <16;i++)
printf( "%2d:[%c]   \n ",i,Pointer-> data);
Pointer   =   Pointer-> left;
}


/*------------------------------------------------------*/
/* 主程序 */
/*------------------------------------------------------*/
void   main()
{
b_tree   root   =   NULL;
/*--------------声明二叉树数组节点数据------------------*/
char   array_tree[16]={0, '- ', '+ ', '4 ', '1 ', '* ',0,0,0,0,2, '3 ',0,0,0,0};

/*------------建立二叉链表----------------*/
root   =   create_linklist(array_tree,   15);

/*---------------输出二叉链表的内容------------------*/
printf( "\nThe   linklist   tree:\n ");
Print_List(root);

}


我编译不成功~~~555555555~~~~高手帮我改一下~~看看哪里错了~~顺便给我解释一下~~谢谢啦!!!

------解决方案--------------------
开头增加#include <stdio.h>
在函数b_tree create_linklist(char *data, int len)中的for(i=0, i <len, i++)逗号改分号
在函数void Print_List(b_tree Head)的最后增加一个花括号 }

------解决方案--------------------