Son dos temas distintos.
Por un lado tienes la introduccion de parametros por teclado, que la capturarias como cadena (manera mas facil), luego si quieres puedes convertirla a numerica (si son todos numeros) con atoi o atol.
Por otro lado esta trabajar con variables de tipo "indefinido" (pudes declararlas como indefinidas, pero necesitas conocer alguna manera para detectar de que tipo son):
Código C:
Ver originalvoid Imprime (int tipo, void *var)
{
int *aux_int;
char *aux_char;
if (tipo == 1)
{
aux_char = var;
fprintf (stderr
, "Variable texto [%s]\n", aux_char
); }
else
{
aux_int = var;
fprintf (stderr
, "Variable numero [%d]\n", *aux_int
); }
}
int main(int argc, char *argv[])
{
char var_texto[10];
int var_numero;
var_numero = 5;
Imprime (1, var_texto);
Imprime (2, &var_numero);
return 0;
}