这是我在codeblocks C语言中的代码 抱歉我是新来的
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct record
{
char name[50];
char id[30];
char course[7];
char project[100];
char field[3];
char supervisor[30];
};
struct record addname();
void list_func(record);
int main()
{
struct record student1,student2;
student1=addname();
student2=addname();
printf("\n\n\tUNDERGRADUATE PROJECT RECORD SYSTEM");
list_func(student1);
list_func(student2);
getch();
}
struct record addname()
{
struct record system;
printf("\nEnter student's Name: ");
gets(system.name);
printf("Enter matrix's ID: ");
gets(system.id);
printf("Enter course's Name: ");
gets(system.course);
printf("Enter Project Title: ");
gets(system.project);
printf("Enter Field: ");
gets(system.field);
printf("Enter Supervisor's name: ");
gets(system.supervisor);
return (system);
}
void list_func(record list)
{
printf("\n\nStudent's Name: %s",list.name);
printf("\nMatrix ID: %s",list.id);
printf("\nCourse: %s",list.course);
printf("\nProject's Title: %s",list.project);
printf("\nField: %s",list.field);
printf("\nSupervisor: %s",list.supervisor);
printf("\n");
printf("\n------------------------------------------------");
return;
}
好的,这是我的错误:
第17行,
void list_func(record);
第50行,
void list_func(record list)
它说
line 17 warning: parameter names (without types) in function declaration [enabled by default]
line 50 error: Unknown type name 'record'
in function 'main'
line 31 warning: control reaches end of non-void function [-Wreturn=type]
严重的是我不明白为什么会这样。我使用我朋友的编码作为参考并将其更改为lil,然后无法调试。 我甚至将我朋友的代码复制并粘贴到我的codeblocks项目中,但它仍然无法运行 但它可以完美地运行在她的codeblocks项目中。 谁能帮我? 我编码不太好
答案 0 :(得分:2)
void list_func(record); ==> void list_func(struct record);
避免前两个错误
只需在函数声明和defination中更改参数类型。
并避免警告
在main函数中的getch();
之后添加以下语句。
return 0;
答案 1 :(得分:0)
将您的函数void list_func(record);
定义为
void list_func(struct record);
从功能return;
中删除void list_func(record list)
。您无法从void
类型函数返回。也可以在return 0
。
main