I've crafted a small code to process a variable number of strings, but some how I got these strings processed in reverse order. The expected output is: Jolasd14; actual output is: asdJol14.
int Columna(int anchoColumna,...){
    va_list longitudCadena;
    va_start ( longitudCadena, anchoColumna );
    char caracter;
    do{
        caracter =va_arg ( longitudCadena, int );
        anchoColumna -= ( int ) caracter;
    } while ( caracter != '\0' );
    va_end ( longitudCadena );
    return anchoColumna;
}
int main ( int cantidadArgumentos, char** argumentos ) {
    printf("%d",Columna(20,printf("Jol"),printf("asd")));
    return 0;
}
EDIT: I tried a similar thing with strings only and I got the expected output.

 
    