|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大家好,大神们!
我的编程爱好者,喜欢在家自学编程的知识。
以下代码是小甲鱼老师的,我用visual studio 2017按照网上的方式,弄成写c语言的环境。但是还是出现了一些错误,我不知道是什么原因,是否可以解决。请大侠们告诉怎么做?
错误信息是:
C4047 “ = ”:“student * ”与“int”的间接级别不同 lianbiao d : \cyuyan\lianbiao\lianbiao\lianbiao.c 21
C2040 “creat” : “student * ()”与“int()”的间接寻址级别不同 lianbiao d : \cyuyan\lianbiao\lianbiao\lianbiao.c 29
C4013 “creat”未定义;假设外部返回 int lianbiao d : \cyuyan\lianbiao\lianbiao\lianbiao.c 21
C2371 “print” : 重定义;不同的基类型 lianbiao d : \cyuyan\lianbiao\lianbiao\lianbiao.c 67
C4013 “print”未定义;假设外部返回 int lianbiao d : \cyuyan\lianbiao\lianbiao\lianbiao.c 22
******************************************************************************下面是代码,跟老师的一样。
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define LEN sizeof(struct student) //student 结构的大小
struct student
{
int num;
float score;
struct student *next;
};
int n;//全局变量,用来记录存放了多少数据。
void main()
{
struct student *stu;
stu = creat();
print(stu);
print("\n\n");
system("pause");
}
struct student *creat()
{
struct student *head;
struct student *p1, *p2;
p1 = p2 = (struct student *)malloc(LEN); //LEN是student结构的大小
printf("Please enter the num :");
scanf_s("%d", &p1->num);
printf("Please enter the score :");
scanf_s("%f", &p1->score);
head = NULL;
n = 0;
while (p1->num)
{
n++;
if (1 == n)
{
head = p1;
}
else
{
p2->next = p1;
}
p2 = p1;
p1 = (struct student *)malloc(LEN);
printf("\nPlease enter the num :");
scanf_s("%d", &p1->num);
printf("Please enter the score :");
scanf_s("%f", &p1->score);
}
p2->next = NULL;
return head;
}
void print(struct student *head)
{
struct student *p;
printf("\nThere are %d records!\n\n", n);
p = head;
if (NULL != head)
{
do
{
printf("学号为%d的成绩是: %f\n", p->num, p->score);
p = p->next;
} while (p);
}
}
在错误列表中点击第一个错误,然后对比小甲鱼的代码,观察是否有打错的地方
其次,将报错的地方放到百度里搜索一下
|
|