gpt4 book ai didi

c - 返回值类型与函数类型不匹配 C 编程链表

转载 作者:行者123 更新时间:2023-11-30 17:34:18 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maxchar 50

int numcars;
int c;//counter
char fu[5];//debug
int main()
{
typedef struct car //info of car
{
int year;
char vin[maxchar];
char make[maxchar];
char model[maxchar];
car *next;
};

car *first;
car *newcar;


printf("Enter the Number of Cars you have: ");
scanf("%i", &numcars);

struct car *addtolist(struct car *first);
{
newcar = (car*)malloc(sizeof(car));

printf("\nEnter The Model Year: ");
scanf("%i", &newcar->year);
printf(" ");//for some reason the program always skips the first 'gets' so this one is here to take that hit.
gets(fu);
printf("\nEnter The Make: ");
gets(newcar->make);
printf("\nEnter The Model: ");
gets(newcar->model);
printf("\nEnter The Vehicle Identifaction Number: ");
gets(newcar->vin);

newcar->next = first;
first = newcar;
return newcar;
}


}

我是一名学习链表的学生,这是一个家庭作业项目。

函数 'struct car *addtolist(struct car *first)' 最初不是一个函数,而是简单地包含在 for 循环 中,循环 ' numcar' 次,而我让它正常工作,我做到了。

对于下一步,我只想添加函数位、声明返回,然后将函数的调用包含在for循环中

我的问题是编译器不断告诉我返回类型与函数类型不匹配。

我做错了什么?

最佳答案

struct car *addtolist(struct car *first);
{

只要你在main()里面写下这两行,你就声明了addtolist()的函数原型(prototype),并且启动了一个范围。您没有定义函数 addtolist()。因此,后面的 return newcar; 返回一个类型不正确的变量,因为 main() 返回 int

关于c - 返回值类型与函数类型不匹配 C 编程链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com