请问这个程序有什么问题吗?
#include"stdlib.h"
main()
{int *p,*m,*n,t;
p=(int*)malloc(2);
m=(int*)malloc(2);
n=(int*)malloc(2);
scanf("%d",p);
scanf("%d",m);
scanf("%d",n);
if(*p>*m){t=*p;*p=*m;*m=t;}
if(*p>*n){t=*p;*p=*n;*n=t;}
if(*m>*n){t=*m;*m=*n;*n=t;}
printf("%d%d%d",*p,*m,*n);
}