主题:下面这个strcpy函数内参数设置哪里不合理
#include<stdio.h>
#include<stdlib.h>
int add(char*,int);
int get();
int show();
struct sttudent{
char name[20];
int score;
struct student *next;
};
typedef struct student s_data;
s_data *front=NULL;
s_data *rear=NULL;
int main()
{
int select,score;
char name[20];
do
{
printf("(1)存入 (2) 取出 (3) 显示 (4) 离开=>");
scanf("%d",&select);
switch(select)
{
case 1:
printf("姓名 成绩:");
scanf("%s %d",name,&score);
add(name,score);
break;
case 2:
get();
break;
case 3:
show();
break;
}
}while(select!=4);
system("pause");
return 0;
}
int add(char* name,int score)
{
s_data *new_data;
new_data=(s_data*)malloc(sizeof(s_data*));
strcpy(new_data->name,name);
new_data->score=score;
if(rear==NULL)
front=new_data;
else
rear=new_data;
new_data->next=NULL;
}
int get()
{
s_data *freeme;
if(front=NULL)
puts("队列已空!");
else
{
printf("姓名:%s\t 成绩:%d'''''取出\n",front->name,front0>score);
freeme=front;
front=front>next;
free(freeme);
}
}
int show()
{
s_data *ptr;
ptr=front;
if(ptr-==NULL)
puts("队列已空!");
else
{
puts("front0>rear");
while(ptr!=NULL)
{
printf("姓名:%s\t 成绩:%d\n",ptr->name,ptr->score);
ptr=ptr0>next;
}
}
}
程序编译到add函数里的strcpy时就通不过了,试着将strcpy内的参数调整了几种格式都无法编译通过,求高手指点
程序的目的是编写一个队列通过动态分配内存来配置堆栈的空间,并且将学生的姓名成绩的数据结构存入堆栈的元素中