#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
struct Person {
char name[30];
int age;
};
int main()
{
struct Person *p[5];
for (int i = 0; i < sizeof(p) / sizeof(struct Person *); i++)
{
p[i] = malloc(sizeof(struct Person));
scanf("%s %d", p[i]->name, &p[i]->age);
}
int temp = 0;
int Bigage = 0;
for (int i = 0; i < sizeof(p) / sizeof(struct Person *)-1; i++)
{
temp = p[i]->age;
if (temp < p[i+1]->age)
{
temp = p[i+1]->age;
Bigage = i+1;
}
}
printf("%s\n", p[Bigage]->name);
for (int i = 0; i < sizeof(p) / sizeof(struct Person *); i++)
{
free(p[i]);
}
return 0;
}
VS에서는 맞는 값이 출력되지만 심상통과는 되지 않고 오류가 발생되었다고 하는데 이유를 모르겠습니다.
첫 번째 테스트는 통과하지만
두 번째 테스트는 통과하지 못합니다.
서명응 64 이산 28 심환지 50 이덕무 39 정민시 35
심환지
나이가 가장 많은 서명응이 출력되어야 합니다.
세 번째 테스트도 통과하지 못합니다.
박제가 30 이덕무 39 정약용 18 정민시 35 이산 28
정민시
나이가 가장 많은 이덕무가 출력되어야 합니다.