我是扬帆起航 发表于 2023-3-1 22:18:14

这个结构体指针代码有什么错,为什么会报错

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct BOOK
{
        char name;
        char author;
        float price;
        char publisher;
};
void* Input(struct BOOK* book);
void* Input(struct BOOK* book)
{
        ptintf("请输入书的名字\n");
        scanf("%s",book->name);
        ptintf("请输入书的作者\n");
        scanf("%s",book->author);
        ptintf("请输入书的价格\n");
    scanf("%f",&book->price);
    ptintf("请输入书的出版社\n");
        scanf("%s",book->publisher);
}
void* Print(struct BOOK* book);
void* Print(struct BOOK* book)
{
        printf("书的名字:%s\n",book->name);
        printf("书的作者:%s\n",book->author);
        printf("书的价格:%s\n",book->price);
        printf("书的出版社:%s\n",book->publisher);
}
int main()
{
        int i;
        printf("打算输入几本书:\n");
        scanf("%d",&i);
        struct BOOK *ptr=NULL;
    ptr=(struct BOOK *)malloc(i*sizeof(struct BOOK ));
    int m;
    for(m=0;m<i;m++)
    {
            Input(ptr+m);
            Print(ptr+m);
        }
       
        return 0;
}

桃花飞舞 发表于 2023-3-1 22:20:52

本帖最后由 桃花飞舞 于 2023-3-1 22:25 编辑

void* Print(struct BOOK* book);void *是什么类型 ,声明和定义能写到一起么?

ptr=(struct BOOK *)malloc(i*sizeof(struct BOOK ));
int m;
for(m=0;m<i;m++)

int m;放到这位置不会报错么?

报错提示是什么呢?

我是扬帆起航 发表于 2023-3-1 22:27:48

        图书馆 输入信息 打印出信息.c:(.text+0x14): undefined reference to `ptintf'
      图书馆 输入信息 打印出信息.c:(.text+0x33): undefined reference to `ptintf'
D:\Fishc\传递结构体指针\collect2.exe        ld returned 1 exit status

我是扬帆起航 发表于 2023-3-1 22:28:20

没有具体哪一行报错{:10_243:}

桃花飞舞 发表于 2023-3-1 22:29:10

本帖最后由 桃花飞舞 于 2023-3-1 22:30 编辑

我是扬帆起航 发表于 2023-3-1 22:27
图书馆 输入信息 打印出信息.c:(.text+0x14): undefined reference to `ptintf'
      图书馆 输入信息 ...

void* Input(struct BOOK* book)函数里面的printf()写错了这么清楚的错误提示细心点

我是扬帆起航 发表于 2023-3-1 22:33:45

感谢感谢{:5_102:}
页: [1]
查看完整版本: 这个结构体指针代码有什么错,为什么会报错