关于C语言结构体函数的运用
我先定义了一个学生的结构体,现在想把这个结构体定义为函数,函数里对结构体的各项进行输入,然后把整个结构体的所有内容返回到main函数里面,应该如何实现?想得头都爆炸了,也...
我先定义了一个学生的结构体,现在想把这个结构体定义为函数,函数里对结构体的各项进行输入,然后把整个结构体的所有内容返回到main函数里面,应该如何实现?想得头都爆炸了,也试了好多办法,就是不断的报错,郁闷啊!
结构体如下:
struct student
{
char name[18];
int id;
char sex;
float chinese;
float math;
float english;
}stu[70];
暂时还没有能解决问题的答案!大家请继续帮帮忙啊!
我的代码是这样的:
struct student
{
char name[18];
int id;
char sex;
float chinese;
float math;
float english;
}stu[70];
struct student inputstu_bylist()
{
struct student stuin[70];
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i].name);
………
………
}
return stuin;
}
应该怎样在main函数里面写一个句子把这个学生的姓名等的数据返回到main里面去呢? 展开
结构体如下:
struct student
{
char name[18];
int id;
char sex;
float chinese;
float math;
float english;
}stu[70];
暂时还没有能解决问题的答案!大家请继续帮帮忙啊!
我的代码是这样的:
struct student
{
char name[18];
int id;
char sex;
float chinese;
float math;
float english;
}stu[70];
struct student inputstu_bylist()
{
struct student stuin[70];
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i].name);
………
………
}
return stuin;
}
应该怎样在main函数里面写一个句子把这个学生的姓名等的数据返回到main里面去呢? 展开
4个回答
展开全部
定义的函数必须有一个结构体的指针参数,将结构体数组首地址传递进去,返回值也应该是一个指针。你的那个操作结构体的函数应该改写,例如这样:
struct student* inputstu_bylist(struct student* stuin)
{
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i]->name);
………
………
}
return stuin;
}
struct student* inputstu_bylist(struct student* stuin)
{
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i]->name);
………
………
}
return stuin;
}
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
首先得包含一些头文件,比如#include<stdio.h>
然后用结构体声明一个变量
struct student stu[70];
用循环进行它的变量的输入
for( int i = 0; i < 70; i++)
{
scanf("%s", stu[i].name);
...
}
最后可以用类似于
的形式得到它的变量值。
char str[18] = stu[i].name;
当然,如果要全部取出来也得用循环。
然后用结构体声明一个变量
struct student stu[70];
用循环进行它的变量的输入
for( int i = 0; i < 70; i++)
{
scanf("%s", stu[i].name);
...
}
最后可以用类似于
的形式得到它的变量值。
char str[18] = stu[i].name;
当然,如果要全部取出来也得用循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct student inputstu_bylist()
{
struct student stuin[70]; //你在函数体里定义了变量,在函数返回后,该内存就被释放了
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i].name);
………
………
}
return stuin;
建议改成指针
{
struct student stuin[70]; //你在函数体里定义了变量,在函数返回后,该内存就被释放了
for(int i=0;i<70;i++)
{
fflush(stdin);
printf("请输入学生的姓名");
gets(stuin[i].name);
………
………
}
return stuin;
建议改成指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"现在想把这个结构体定义为函数"不能明白这句话的意思,"函数里对结构体的各项进行输入,然后把整个结构体的所有内容返回到main函数里面",这句话也不太理解.
把你想象中的函数形式写一下,或是写段伪码,再或者把你有问题的程序发出来,这样才能明白你到底想要什么
把你想象中的函数形式写一下,或是写段伪码,再或者把你有问题的程序发出来,这样才能明白你到底想要什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询