struct X
{
  int f1;
  char f2[20];
  int f3;
};

int X_compare(struct X *p1, struct X *p2)
{
  if (p1->f3 < p2->f3) 
  {
    return -1;
  }
  else 
  {
    if (p1->f3 > p2->f3) 
    {
      return 1;
    } 
    else 
    {
      return 0;
    }
  }
}

int main(void)
{
  struct X a[20];
  int i;
  int maxindex = 0;
  
  for (i = 1; i < 20; ++i)
  { 
    if (X_compare(&a[maxindex], &a[i]) < 0)
    {
      maxindex = i;
    }
  }
}
