不懂就问
#include<stdio.h>#include<string.h>
#define N 3
struct student
{
int name;
int num;
int pleace;
int id;
int age;
int address;
}stu
void input(struct student stu[]);
void print(struct student stu[]);
void search(struct student stu[],int name[]);
void main()
{
int name;
input(stu);
print(stu);
printf("\n请输入想要查找的学生姓名: ");
scanf("%d", name);
search(stu, name);
}
void input(struct student stu[]);
{
for(int i=0;i<N;i++);
{
printf("输入第%d个学生的信息\n",&i+1);
printf("姓名: ");
scanf("%d", &stu.name);
printf("学号: ");
scanf("%d", &stu.num);
printf("籍贯: ");
scanf("%d", &stu.place);
printf("身份证号: ");
scanf("%d", &stu.id);
printf("年龄: ");
scanf("%d", &stu.age);
printf("家庭住址: ");
}
}
void print(struct student stu[]);
{
printf("姓名学号 籍贯 身份证号 年龄地址 \n");
for(int i=0; i<N; i++)
printf("%d%d%d%d%d%d\n", &stu.name,&stu.num,& stu.place, &stu.id, &stu.age, &stu.address);
}
void search(struct student stu[], char name[]);
{
int flag=0;
for(int i=0; i<N; i++)
if(strcmp(stu.name, name)==0)
{
printf("%d%d%d%d%d%d\n", &stu.name,&stu.num,& stu.place, &stu.id, &stu.age, &stu.address);
flag = 1;
}
if(flag == 0)
printf("没有该学生的信息!\n");
}
错误如下:1、C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(15) : error C2054: expected '(' to follow 'stu'
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(15) : error C2085: 'input' : not in formal parameter list
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(16) : error C2085: 'print' : not in formal parameter list
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(17) : error C2085: 'search' : not in formal parameter list
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(18) : error C2085: 'main' : not in formal parameter list
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(29) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(45) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(47) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(51) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(53) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\3.c(63) : error C2059: syntax error : '}' 这不是Python……"input???print???" 你的代码存在一些语法错误,以下是修改后的代码:
#include<stdio.h>
#include<string.h>
#define N 3
struct student
{
char name;
char num;
char place;
char id;
int age;
char address;
}stu;
void input(struct student stu[]);
void print(struct student stu[]);
void search(struct student stu[], char name[]);
void main()
{
char name;
input(stu);
print(stu);
printf("\n请输入想要查找的学生姓名: ");
scanf("%s", name);
search(stu, name);
}
void input(struct student stu[])
{
for(int i=0;i<N;i++)
{
printf("输入第%d个学生的信息\n",i+1);
printf("姓名: ");
scanf("%s", stu.name);
printf("学号: ");
scanf("%s", stu.num);
printf("籍贯: ");
scanf("%s", stu.place);
printf("身份证号: ");
scanf("%s", stu.id);
printf("年龄: ");
scanf("%d", &stu.age);
printf("家庭住址: ");
scanf("%s", stu.address);
}
}
void print(struct student stu[])
{
printf("姓名学号 籍贯 身份证号 年龄地址 \n");
for(int i=0; i<N; i++)
printf("%s %s %s %s %d %s\n", stu.name, stu.num, stu.place, stu.id, stu.age, stu.address);
}
void search(struct student stu[], char name[])
{
int flag=0;
for(int i=0; i<N; i++)
if(strcmp(stu.name, name)==0)
{
printf("%s %s %s %s %d %s\n", stu.name, stu.num, stu.place, stu.id, stu.age, stu.address);
flag = 1;
}
if(flag == 0)
printf("没有该学生的信息!\n");
}
修改点如下:
1、结构体内的 name, num, place, id 和 address 应使用 char 类型而非 int 类型。
2、结构体 stu 后面应该有一个分号
3、去掉了多余的分号和花括号。
4、使用 %s 而非 %d 读取字符串。
5、用 scanf("%s", name); 而非 scanf("%d", name); 读取姓名。
6、在 input 函数中,将 &i+1 修改为 i+1。
注意:void main() 不是标准 C 语言的写法,请使用 int main() 并在程序结束前返回 0。 歌者文明清理员 发表于 2023-3-17 19:43
这不是Python……"input???print???"
可能有些太急了{:10_266:} isdkz 发表于 2023-3-17 19:44
你的代码存在一些语法错误,以下是修改后的代码:
大佬nb{:10_281:}
页:
[1]