//多变量比较
#include <iostream>
#include <stdio.h>
struct Ele
{
char ID[20];
int key1;
int key2;
};
int compare_1(Ele* le,Ele* re)
{
if(le->key1 > re->key2)
{
return 1;
}
else if(le->key1 == re->key2)
{
if(le->key2 > re->key2)
{
return 1;
}
else if(le->key2 == re->key2)
{
return 0;
}
else
{
return -1;
}
}
else
{
return -1;
}
}
int compare_2(Ele* le,Ele* re)
{
return (le->key1*100 + le->key2 - re->key1*100 + re->key2);
}
int main(int argc, char *argv[])
{
Ele stu_1 = {"A",90,90};
Ele stu_2 = {"B",90,80};
printf("compare_1 %s and %s : %d\n",stu_1.ID,stu_2.ID,compare_1(&stu_1,&stu_2));
printf("compare_2 %s and %s : %d\n",stu_1.ID,stu_2.ID,compare_2(&stu_1,&stu_2));
return 0;
}