local function definitions are illegal是什么错误?
发布网友
发布时间:2022-05-20 09:54
我来回答
共4个回答
热心网友
时间:2023-10-15 19:22
#include "stdio.h"
#include "malloc.h"
#include "string.h"
int n;
struct student
{
char num[20];
char name[10];
int age;
char sex;
char birthday[10];
char address[20];
char phonenum[30];
char email[40];
struct student *next;
};
void sr (struct student *p,int *q)
{
int i;
printf("请输入您要输入信息的学生人数:");
scanf("%d",q);
for (i=0;i<*q;i++)
{
printf("请输入第【%d】名同学的信息\n",i+1);
printf("请输入学号");
scanf("%d",&p->num);
printf("请输入姓名");
scanf("%s",p->name);
printf("请输入年龄");
scanf("%d",&p->age);getchar();
printf("请输入性别");
scanf("%c",&p->sex);
printf("请输入出生年月");
scanf("%s",p->birthday);
printf("请输入地址");
scanf("%s",p->address);
printf("请输入电话");
scanf("%s",p->phonenum);
printf("请输入E-mail:");
scanf("%s",p->email);
p++;
}
}
void main ()
{
struct student *pstu;
pstu=(struct student*)malloc(sizeof(struct student));
int choice;
int *pn;
pn=&n;
do
{
printf("菜单\n=============================\n 1......学生信息录入\n 2......学生信息浏览\n 3......按学号查询学生信息\n 4......按姓名查询学生信息\n 5......退出系统\n=============================\n请输入序号选择您需要的操作:\n");
scanf("%d",&choice);
switch(choice)
{
case 1:sr(pstu,pn);break;
case 2:;break;
case 3:printf("3\n");break;
case 4:printf("4\n");break;
case 5:break;
default:printf("error\n");break;
}
}while(choice!=5);
}
貌似你掉了个括号吧,就在main 在前面,然后最后的change是不是该改成choice?
热心网友
时间:2023-10-15 19:23
指的是你的main函数定义在了另一个函数里面
void sr (struct student *p,int *q)
这个函数最后缺少一个 }(大括号)
热心网友
时间:2023-10-15 19:23
报一个错误,其实不止一个。
'sell' : local function definitions are illegal,此错误是由于上一个函数未结束造成。
input函数中,大括号不匹配,在末尾添加一个“}”即可解决这个错误。
但一波刚平,多波又起。再编译,出现了十几个
错误。细看看,所报不差。
void start();这是声明。
void goods::start(const goods &A)这是定义。可见二者不符。
char goods::name[i]='0';
double goods::price[i]=0;
int goods::num[i]=0;
上三外有变量重定义之错,要把类型符去掉。
int goods::total=0;亦如此
sell函数定义中,第一个break妥,建议改为return.
start函数中,把for前一大括号移到int goods::total=0;之前或之后,看你的逻辑而定。
还剩两处错误,好像与你的函数有关,我不细看了。
热心网友
时间:2023-10-15 19:24
函数定义非法。
重点检查内容:
1、哪里{}没用对,大量语句编程,往往会漏掉“}”。
注:这一情况非常常见,查时可以用ctrl+]这个快捷键,定位到对应的大括号上。
2、查看所用函数的格式是否正确。