[求助]这程序怎么运行不了?
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedef struct sell
{
int product[6];
int seller;
float sales[6]; /*销售额*/
float sum;
int order;
struct sell *next;
}SELLER;
SELLER *creat()
{
int i;
float s;
SELLER *h=NULL,*info; /*h:头结点指针;info:新结点指针*/
for(;;)
{
info=(SELLER *)malloc(sizeof(SELLER)); /*申请空间*/
if(!info) /*如果指针info为空*/
{
printf("\n内存分配失败");
return NULL; /*返回空指针*/
}
printf("\n请按如下提示输入相关信息.\n\n");
printf("请输入销售员代号:");
scanf("%d",info->seller); /*输入销售员代号*/
printf("请输入产品代号:");
scanf("%d",info->product); /*输入产品代号*/
printf("请输入5种产品的销售额:");
s=0; /*计算每个销售员的销售额,初值为0*/
for(i=0;i<6;i++)
{
do
{
printf("sales[%d]:",i); /*提示输入第几种产品*/
scanf("%ld",&info->sales[i]); /*输入销售额*/
if(info->sales[i]<0) /*确保销售额大于等于0*/
printf("非法数据,请重新输入!\n"); /*出错提示信息*/
}while(info->sales[i]>=0);
s=s+info->sales[i]; /*累加5种产品销售额*/
}
info->sum=s; /*将总销售额保存*/
info->order=0; /*未排序前此值为0*/
info->next=h; /*将头结点做为新输入结点的后继结点*/
h=info; /*新输入结点为新的头结点*//*没排序前,后输入的数据将排在最上*/
}
return(h); /*返回头指针*/
}
main()
{
SELLER *creat();
}