例74】(1) 【例74】用指针变量输出结构数组。程序名为174cpp。 #include "stdio h" struct stu 据言程设计 i long int num; char name [ 20] char sex float score } student3}={{200Lir";w,99},{200002," Wang hai"M,85} {200003, Liuying",W,50}; main i struct stu*s printf("NumtNameItitsex") for(s==student S<student+3; S++) 60 printf("%ld t%0-10sIt%ct%ftin" s->num, s->name, S->sex, S->score) 环 境
【例7.4】(1) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回(2) 【例7.4】用指针变量输出结构数组。程序名为l7_4.cpp。 #include "stdio.h" struct stu { long int num; char name[20]; char sex; float score; }student[3]={{200001,"Li li",'W',99},{200002,"Wang hai",'M',85}, {200003,"Liuying ",'W',50}}; main() { struct stu *s; printf("Num\tName\t\tSex\tScore\t\n"); for(s=student;s<student+3;s++) printf("%ld\t%-10s\t%c\t%f\t\n",s->num,s->name,s->sex,s->score); }
【例74】(2上接1) 运行情况如下 Name eX Score 据言程设计 200001 Li li W 99000000 200002 Wang hai m 85000000 200003 Liuying W 50.000000 60 程序演弓 环 境
【例7.4】(2上接1) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回(2) 运行情况如下: Num Name Sex Score 200001 Li li W 99.000000 200002 Wang hai M 85.000000 200003 Liuying W 50.000000. 程序演示
例74】程序演示 174 □口区 的动圳回型面A汉 200001 Lime 99.000U00 200002 Wang hai 85.U0D00 200003 Liu ying 50.DU00 ress any key to continue 返回例题 回(2)
【例7.4】程序演示 返回例题 返回(2)
(3)结构指针作函数参数 使用结构指针,即用指向结构变量(或数组)的结构指针作函数 据言程设计 参数进行传送,这时由实参向形参传递的是地址,属于“地址 传递”方式,减少了时间和空间上的开销。 (例75 60 环 境 回1目录
(3)结构指针作函数参数 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 使用结构指针,即用指向结构变量(或数组)的结构指针作函数 参数进行传送,这时由实参向形参传递的是地址,属于“地址 传递”方式,减少了时间和空间上的开销。 【例7.5】 返回1目录
例75】(1) 【例75】用结构指针变量作函数参数编程,计算一组学生的平均成绩并统计 出不及格人数。程序名为175cpp。 #include "stdio. h' 据言程设计 struct stu i long int num; char name[20]: char sex. float score } student[3}={{200001,Lili",w,9},{200002," Wang hai",M,85}, {200003," Liuying",w,50}} void average(struct stu*ps) float aves 60 环 境
【例7.5】(1) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回(3) 【例7.5】用结构指针变量作函数参数编程,计算一组学生的平均成绩并统计 出不及格人数。程序名为l7_5.cpp。 #include "stdio.h" struct stu { long int num; char name[20]; char sex; float score; }student[3]={{200001,"Li li",'W',99},{200002,"Wang hai",'M',85}, {200003,"Liuying ",'W',50}}; void average(struct stu *ps) { int n=0,i; float ave,s=0;