for (int i = 0; i < sizeof(p) / sizeof(struct Person *); i++)
{
p[i] = malloc(sizeof(struct Person));
}
scanf("%s %d %s %d %s %d %s %d %s %d", p[0]->name, &p[0]->age, p[1]->name, &p[1]->age, p[2]->name, &p[2]->age, p[3]->name, &p[3]->age, p[4]->name, &p[4]->age);
int age = 0;
int oldestIndex = 0;
for (int i = 0; i < sizeof(p) / sizeof(struct Person *) - 1; i++)
{
if (p[i]->age > oldestIndex)
{
oldestIndex = p[i]->age;
oldestIndex = i;
}
}
printf("%s\n", p[oldestIndex]->name);
여기까지가 제가 짜본 코드이구요
실행도 정상적으로 되는데 심사문제 통과가 안되네요....뭐가문제일까요..
53.7의 예제를 모두 테스트해보세요.
첫 번째 예제는 우연히도 같은 결과가 나오지만,
두 번째 예제는 결과가 틀립니다.
문제가 원하는 입력과 출력
서명응 64 이산 28 심환지 50 이덕무 39 정민시 35
이덕무
가장 연장자인 서명응이 출력되어야 하지만, 문의한 코드는 이덕무가 출력됩니다.