/、请你设计一个结构体实现对教师的工号、姓名、教授课程进行描述,
/创建该类型的结构体变量A,并从键盘录入数据进行赋值。
改变结构体内变量三法:
方法一:返回结构体
1. #include#include typedef struct Teacher { int sno; char name[20]; char course[20]; }Teacher; Teacher Update(Teacher B) { strcpy(B.name,"KOBE"); strcpy(B.course,"C++程序设计"); return B; } int main() { Teacher A,B; int num; scanf("%d %s %s",&A.sno,A.name,A.course); printf("n%d %s %s",A.sno,A.name,A.course); B=A; B=Update(B); printf("n%d %s %s",B.sno,B.name,B.course); return 0; }
方法二:结构体指针
#include#include typedef struct Teacher { int sno; char name[20]; char course[20]; }Teacher; void Update(Teacher *B) { strcpy(B->name,"KOBE"); strcpy(B->course,"C++程序设计"); } int main() { Teacher A,B; int num; scanf("%d %s %s",&A.sno,A.name,A.course); printf("n%d %s %s",A.sno,A.name,A.course); B=A; Update(&B); printf("n%d %s %s",B.sno,B.name,B.course); return 0; }
方法三:结构体数组
#include#include typedef struct Teacher { int sno; char name[20]; char course[20]; }Teacher; void Update(Teacher B[]) { strcpy(B[0].name,"KOBE"); strcpy(B[0].course,"C++程序设计"); } int main() { Teacher A,B; int num; scanf("%d %s %s",&A.sno,A.name,A.course); printf("n%d %s %s",A.sno,A.name,A.course); B=A; Update(&B); printf("n%d %s %s",B.sno,B.name,B.course); return 0; }
注意typedef 结构名结构类型,结尾是结构体类型不是结构体变量,好处是下面可以省去struct。



