189 8069 5689

c语言结构体用函数输出,C语言结构体中字符串输出

C语言,结构体定义的输入输出函数

结构体的输入输出与一般的一样,但是不能整体对结构体进行输入输出,只能对其成员分个输入输出,比如结构体struct

成都创新互联公司是一家集网站建设,勐海企业网站建设,勐海品牌网站建设,网站定制,勐海网站建设报价,网络营销,网络优化,勐海网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

student{

int

number;

char

name[20]}..................输入学号可以用scanf("%d",number);输入姓名scanf("%s",name);........................当然,你也可以使用gets();之类的,只要记住对其成员输入输出就行,纯手打,满意请采纳,谢谢O(∩_∩)O~

c语言结构体数组的输入输出

C

语言中,结构体(struct)是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。

结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

定义与声明

结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

在实际应用中,C语言结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。

在C语言中,定义结构体数组和定义结构体变量的方式类似;

例:

struct stu{

char*name;//姓名

int num;//学号

int age;//年龄

char group;//所在小组

float score;//成绩

}class[5];

表示一个班级有5个学生。

扩展资料:

结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用for循环一个一个地使用结构体数组中的元素。

下面编写一个程序,编程要求:从键盘输入5个学生的基本信息,如姓名、年龄、性别、学号,然后将学号最大的学生的基本信息输出到屏幕。

#includelt;stdio.hgt;

#includelt;string.hgt;

struct STU

{

char name[20];

int age;

char sex;

char num[20];

};

void OutputSTU(struct STU stu[5]);

//函数声明,该函数的功能是输出学号最大的学生信息

int main(void)

{

int i;

struct STU stu[5];

for(i=0;ilt;5;++i)

{

printf("请输入第%d个学生的信息:",i+1);

scanf("%s%d%c%s",

stult;igt;.name,

stult;igt;

.age,stult;igt;

.sex,stult;

igt;.num);/*%c

前面要加空格,不然输入时会将空格赋给%c*/

}

OutputSTU(stu);

return 0;

}

void OutputSTU(struct STU stu[5])

{

struct STU stumax=stu[0];

int j;

for(j=1;jlt;5;++j)

{

if(strcmp(stumax.num,stu[j]

.num)lt;0)//strcmp函数的使用

{

stumax=stu[j];

}

}

printf("学生姓名:%s学生年龄:%d学生性别:%c学生学号:

%s\n",stumax.name,

stumax.age,stumax.

sex,stumax.num);

}

输出结果是:

请输入第1个学生的信息:小红22 F Z1207031

请输入第2个学生的信息:小明21 M Z1207035

请输入第3个学生的信息:小七23 F Z1207022

请输入第4个学生的信息:小欣20 F Z1207015

请输入第5个学生的信息:小天19 M Z1207024

学生姓名:小明学生年龄:21学生性别:M学生学号:Z1207035

参考资料:

百度百科——结构体

c语言中,如何在结构体中实现函数的功能?

c语言的结构体是一组数据的组合,并不是简单的单一类型。所以在查找和输出的时候,均不能直接操作,而是要进行变通。

1

查找。

对于以某一项为关键字进行查找时,比如在结构体中有int型的成员a,要查找a为100的结构体变量,这时需要遍历每个结构体(数组、链表、或者其它任意形式),对每个元素的成员a值进行比较,符合的则表示查找成功。

对于结构体中元素较多,同时要对整个结构体每个元素都匹配才算查找到的特殊情况,可以使用memcmp的方式,整体进行比较,以减少代码量。不过这种情况较为少见,不过多描述。

2

输出。

对于结构体的输出,其实就是对其每一项,或者若干项成员变量的输出。

所以可以使用基本的输出函数,对每一项单独输出,输出中为了方便阅读,可以加一些说明文字。

如果对结构体输出有多处调用的需求,可以在将该功能封装为函数,供各个需要的函数调用。这样的好处是,当结构体的成员出现变化,或者结构体输出要求更改时,修改一处代码即可完成所有的输出修改,实现易于维护的效果。

求助,C语言结构体输出函数问题

因为结构体中adress的地址与time地址连续,因为address数组是整数数组,不可能为空指针(即使你没赋值,系统存有随即的数值),所以当address【14】读完后,为继续读time字符串的字符作为address[15]导致死循环。

解决方法很简单,你循环中stud[i].addr[j]!=NULL条件是多余的,只用加上j15即可,但是会输出多余的活动。

程序没有你想的那么智能,那么你就要考虑以数组存的值为-1为活动结束标志,使得程序智能起来。那么限制条件就为stud[i].addr[j]!=-1即不会死循环,又不会输出多余的活动。

能说的也就这么多了,希望能对你有所帮助!


文章名称:c语言结构体用函数输出,C语言结构体中字符串输出
文章起源:http://jkwzsj.com/article/hsdpdi.html

其他资讯