C 练习实例78
题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
程序分析:无。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
#include <stdio.h>
#include <stdlib.h>
// 定义结构体类型,用于存储人员的姓名和年龄
struct man {
char name[20];
int age;
} person[3] = {{"li", 18}, {"wang", 25}, {"sun", 22}}; // 初始化数组
int main() {
struct man *q = NULL; // 用于指向年龄最大的人员
struct man *p = person; // 指向数组的起始地址
int i;
int max_age = 0; // 存储最大年龄
// 遍历数组,找到年龄最大的人员
for (i = 0; i < 3; i++) {
if (p->age > max_age) { // 如果当前年龄大于 max_age
max_age = p->age; // 更新 max_age
q = p; // 将 q 指向当前人员
}
p++; // 移动到下一个人员
}
// 输出年龄最大的人员的姓名和年龄
if (q != NULL) {
printf("%s %d\n", q->name, q->age);
} else {
printf("没有找到人员信息。\n");
}
return 0;
}
以上实例运行输出结果为:
wang 25