Estoy poco familiarizado con C y aún menos con esto de los punteros.
Así que la solución que doy no se si es la correcta, pero bueno, lo que es ordenar números sí que lo hace.
Además de completar la función, he cambiado el orden de las primeras líneas, porque si no producía un efecto extraño, el programa comienza a pedir datos sin antes mostrar los texto de los printf(), mostrándolos después de haber insertado los tres valores:
#include<stdio.h>
void pro(int *a, int *b , int *c);
int aa, bb, cc, *apuntador1, *apuntador2, *apuntador3;
int main(){
printf("\nIntroduce el valor de a:");
scanf("%d",&aa);
printf("Introduce el valor de b:");
scanf("%d",&bb);
printf("Introduce el valor de c:");
scanf("%d",&cc);
apuntador1 =&aa;
apuntador2 =&bb;
apuntador3 =&cc;
printf("\na=%d, b=%d, c=%d",aa, bb, cc);
pro(&aa,&bb,&cc);
printf("\na=%d, b=%d, c=%d",*apuntador1,*apuntador2,*apuntador3);
return 0;
}
void pro(int *a, int *b, int *c){//funcion que ordena los números ingresados por el usuario de mayor a menor
if(*a<*b && *b<*c){
//Nada que hacer, ya están en orden
}else if (*a<*c && *c<*b){
int temp = *c;
*c = *b;
*b = temp;
}else if (*b<*a && *a<*c){
int temp = *b;
*b = *a;
*a = temp;
}else if (*b<*c && *c<*a){
int temp = *a;
*a = *b;
*b = *c;
*c = temp;
}else if (*c<*a&& *a<*b){
int temp = *c;
*c = *b;
*b = *a;
*a = temp;
}else if (*c<*b&& *b<*a){
int temp = *c;
*c = *a;
*a = temp;
}
}