共修改18处,具体位置请看下面的注释:
//---------------------------------------------------------------------------
#include
#include
struct Triplet
{
int a;
int b;
int c;
};
struct Triplet *T;
void InitTriplet(int v1, int v2, int v3) /*注意这里*/
{
T = (struct Triplet *)malloc(sizeof(struct Triplet)); /*注意这里*/
if(T==NULL) /*注意这里*/
exit(1);
T->a = v1; T->b = v2; T->c = v3;
}
int Max(struct Triplet *T) /*注意这里*/
{
int temp,e; /*注意这里*/
temp = (T->a >= T->b)? T->a:T->b; /*注意这里*/
e = (T->c >= temp)? T->c:temp; /*注意这里*/
return e; /*注意这里*/
}
int Min(struct Triplet *T) /*注意这里*/
{
int temp,e; /*注意这里*/
temp = (T->a <= T->b)? T->a:T->b; /*注意这里*/
e = (T->c <= temp)? T->c:temp; /*注意这里*/
return e; /*注意这里*/
}
void DestroyTriplet(void) /*注意这里*/
{
free(T);
T = NULL;
}
int main()
{
int v1, v2, v3;
/*原程序此处的e变量定义没有必要*/
printf("请输入三元组的三个整数:\n");
scanf("%d %d %d", &v1, &v2, &v3);
InitTriplet(v1, v2, v3); /*注意这里*/
printf("初始化三元组得三个元素为:%d %d %d\n", T->a, T->b, T->c);
printf("三元组最大的元素是: %d\n", Max(T)); /*注意这里*/
printf("三元组最小的元素是: %d\n", Min(T)); /*注意这里*/
DestroyTriplet(); /*注意这里*/
if(T == NULL)
printf("三元组被销毁!");
return 0;
}
//---------------------------------------------------------------------------