Hola. Tengo las siguientes funciones:
int tam_infijo (char * array){
    
    int cont = 0;
    
    while ( *( array + cont ) != '\0' ){
          
          cont++;
          
    }
    
    return cont - 1;
    
}
 
char * scan_infijo (){
    
    char * expresion;
    
    expresion 
= (char*) calloc (200, sizeof (char));    
    fgets (expresion
, 200, stdin
);     
    realloc (expresion
, sizeof(char) * (tam_infijo 
(expresion
) + 1) );     
    
}
Alguien me podría decir que estoy haciendo mal a la hora de llamar a realloc? esque al programa le da igual que escriba:
(tam_infijo (expresion) + 1) que (tam_infijo (expresion) - 2), hace lo mismo...
Un saludo!