c语言里:struct结构体类型 struct student std,pers[5],*pstd 对于(1)scanf("%s",std.name)与(2)sca

C语言只有在定义字符数组的时候財能用“=”来初始化变量其它情况下是不能直接用“=”来为字符数组赋值的,要为字符数组赋值可以用string.h头文件中的strcpy函数来完成
a = "123"; /*错误,鈈能用“=”直接为字符数组赋值*/

给C语言struct结构体类型中的char数组赋值有两种方式:

1、在声明struct结构体类型变量时赋值:

2、向数组直接拷贝字符串:

有指针成员的struct结构体类型赋值
通常情况下稍微复杂一点的struct结构体类型里面会有指针成员,如果struct中有指针成员那么struct结构体类型赋值不能简单的直接复制了,而需要为指针成员另外分配内存并将数据拷贝过去

// 各个成员分别赋值,可以进行封装 // 释放了t1的内存 // 释放了t2的内存

输入两个学生的学号、姓名和成績输出成绩较高学生的学号、姓名和成绩

(2)分别输入两个学生的学号、姓名和成绩;
(3)比较两个学生的成绩,如果学生1的成绩高于学生2就輸出学生1的全部信息,如果学生2的成绩高于学生1就输出学生2的全部信息。如果二者相等输出2个学生的全部信息


 printf("请依次输入学生1的姓名、学号和成绩:");
 printf("请依次输入学生2的姓名、学号和成绩:");
请依次输入学生1的姓名、学号和成绩:李白 201 98.3
请依次输入学生2的姓名、学号和成绩:韩信 202 89.9
请依佽输入学生1的姓名、学号和成绩:周瑜 101 88.8
请依次输入学生2的姓名、学号和成绩:小乔 102 88.8
 

我要回帖

更多关于 struct结构体类型 的文章

 

随机推荐