c语言函数内输入结构体 c语言函数输入结构体数组

C语言 用函数实现结构体的输入

#includestdio.h

定州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

struct student //结构体在函数外部定义

{

int num;

char Class[20];

char name[40];

float music;

float art;

float math;

};

void in(struct student stu[],int n); //函数声明在函数外部,主函数向子函数传递stu、n,才能在子函数中使用stu、n

void ave(struct student stu); //函数声明在函数外部,求平均数程序整体有些错误,我给改了

void main()

{

struct student stu[100]; //已经定义好的结构体全名是struct +你定义的名字,鉴于内存有限,100的长度已经够用了

int n,i;

printf("输入人数\t"); //增强互动性

while(scanf("%d",n)!=0)

{

in(stu,n);

for(i=0;in;i++)

{

printf("%s ",stu[i].name);

ave(stu[i]);

}

}

}

void in(struct student stu[],int n)

{

int i;

printf("输入信息(学号,班级,姓名,音乐成绩,艺术成绩,数学成绩)\n"); //增强互动性

for(i=0;in;i++)

{

scanf("%d %s %s %f %f %f",stu[i].num,stu[i].Class,stu[i].name,stu[i].math,stu[i].music,stu[i].art);

}

}

void ave(struct student stu)

{

float average;

average=(stu.music+stu.math+stu.art)/3.000;

printf("%5.lf\n",average);

}

1、结构体,函数声明都在主函数外;

2、被调函数使用主调函数需要传值;

3、结构体名为struct +定义名;

4、程序注意互动性。

c语言结构体输入

number是指针,指向常量字符串,输入的时候,改变的其实是number的空间,也就是出现了野指针,导致程序出错

修改方式很简单,把char*number,改成char number[100]就可以了

只改定义一处,其他的不需要改动

具体大小,取决于你的需求

C语言可以对函数输入一个结构体吗

可以的,不过传入的是改结构体的一个副本

如果需要在函数中更改结构体内容,可以把这个结构体的指针作为参数传入函数,返回的也是该结构体的指针

c语言结构体输入的问题

第一个是正确的

后续, 由于%c读取了上一个输入的换行, 导致出错。

修改方法

在scanf的for循环中, scanf下面一行, 加一句getchar();

注意加大括号。

C语言结构体数组 的输入方式

1、如果从标准输入中输入,只有挨个输入每个结构体对象的成员。如果从文件输入,则可以用fread函数直接读入整个对象。

2、例程:

#include stdio.h

struct student

{

int num;

char name;

int score[3];

};

void main()

{

void print(struct student);

struct student stu[5];

int i;

for(i=0;i5;i++) //问题在%c前要一个空格,还有少了

{

scanf("%d %c%d%d%d",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);

}

printf("输入完成\n");

for(i=0;i5;i++)

print(stu[i]);

}

void print(struct student stu)

{

printf("%d%c%d%d%d\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);

}


名称栏目:c语言函数内输入结构体 c语言函数输入结构体数组
URL地址:http://ybzwz.com/article/doopcih.html