鱼C论坛

 找回密码
 立即注册
查看: 1116|回复: 1

[已解决]使用visual studio 2017 写c 程序出现的问题

[复制链接]
发表于 2019-11-18 11:52:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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);

        }
}
最佳答案
2019-11-18 20:51:20
在错误列表中点击第一个错误,然后对比小甲鱼的代码,观察是否有打错的地方

其次,将报错的地方放到百度里搜索一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-18 20:51:20 | 显示全部楼层    本楼为最佳答案   
在错误列表中点击第一个错误,然后对比小甲鱼的代码,观察是否有打错的地方

其次,将报错的地方放到百度里搜索一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 21:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表