把if(h=NULL)改成if(h==NULL)试试……
pre没有初值,把h=NULL改为h=pre=NULL;应该没问题了。
if(h=NULL)修改为if(h==NULL)scanf("%d %s %s",&cur->no,cur->name,cur->addr);修改为scanf("%d %s %s",&(cur->no),cur->name,cur->addr);
没有头文件,