2 u012455303 u012455303 于 2013.12.24 16:24 提问

求修改!!帮忙看看那里错了谢谢

#include
#include
#define TER sizeof(STD);
typedef
struct
{
char name[20];
int num;
double score;
struct *next;
}STD;
STD *cha(); //创建链表
void *print(STD*head); //打印链表
int n;

void main()
{
STD *sub;
sub=cha();
print(sub);
}
STD * cha()
{
STD *head;
STD *p1,*p2;

p1 = p2 =(STD*)malloc(TER);
printf("输入姓名:");
scanf("%s",p1->name);
printf("输入学号");
scnaf("%d",p1->num);
printf("输入成绩:");
scanf("%lf",p1->score);

head=NULL;
n=0;

while(p1->num!=0)
{
    n++;
    if(n == 1)
    {
        head=p1;
    }
    else
    {
        p2->next=p1;
    }
}
p2->next=NULL;
return head;

}

void print(STD*head)
{
STD *p;
printf("一共%d人",d);
*P=head;
if(head)
{
do
{
printf("姓名是%s的成绩是%d:",p->name,p->score);
p->next;
}while(p!=NULL);
}
}

2个回答

a2581317
a2581317   2013.12.24 17:47
已采纳

错误有点多哦.....有些都看不懂你要干什么:
1、头文件包含看不到是什么
#inclued <stdio.h>
#include<stdlib.h>
2、先取名字,再用类型
typedef
struct STDSTRU
{
char name[20];
int num;
double score;
STDSTRU *next;
}STD;
3、函数名写错了
printf("输入姓名:");
scanf("%s",p1->name);
printf("输入学号");
scnaf("%d",p1->num);//scanf(),函数名写错了
printf("输入成绩:");
scanf("%lf",p1->score);
4、变量名大小写混乱
5、未定义变量
STD p;
printf("一共%d人",d);//后面的参数d没定义,不知道要输出什么
*P=head;//定义的小写,这里应该是小写p=head,且指针赋值不用带 * 号,
号就是解引用了

这些都是语法错误。。可能还有别的语法错误,我没编译。

u012455303
u012455303 谢谢哈!我初学我这个例子是仿照别的改的!能给调一下吗?
大约 4 年之前 回复
peitianmeng
peitianmeng   2014.04.17 09:30

这个有点。。。 感觉这个代码是不是纯手工啊?!你没有编译测试过吗!?
一楼提的很好,还有那个
scanf的参数没有加取址符的 num score变量的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!