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,*p;
int i,m=0;
p=person;
for(i=0;i<3;i++)
{
if(m<p->age)
{
m=p->age;
q=p;
}
p++;
}
printf("%s %d\n",q->name,q->age);
return 0;
}
以上实例运行输出结果为:
wang 25
裴运章
961***686@qq.com
三个年龄都是 0 的时候不行 q 没赋初值,下面加了个 q=p=person,再就是年龄相等且为最大值的时候应同时输出,改进之后程序如下。
裴运章
961***686@qq.com
HIT_CCC
117***2963@qq.com
参考方法:
HIT_CCC
117***2963@qq.com