BaGuZiD escribió:- Lo de tuberias no se lo que es.
Bueno, lo podrías buscar

Una tubería (pipe, "|") sirve para redirigir la salida estándar de un programa a la entrada estándar de otro. Tu programa está leyendo los datos de la entrada estándar (stdin) y escribiendo en la salida estándar (stdout). Por ejemplo, en linux podrías hacer lo siguiente (si usas windows, creo que es similar):
echo "calamares a la romana" | ./espacios
Que equivaldría a iniciar tu programa, escribir "calamares a la romana" y cerrar la entrada estándar (tu control+z).
Otra opción sería meterle un fichero, por ejemplo el código del programa:
cat espacios.c | ./ espacios
Si estás siguiendo algún manual, ya llegarás.
BaGuZiD escribió:Y como pregunta: ¿Necesito punteros para hacer esto, obligatoriamente? quiero decir devolver un entero es necesario usar punteros. A lo mejor lo que pregunto es obvio pero sino se pregunta no se aprende ¿no?
No, para devolver un entero sólo tienes que hacer una función que devuelva el tipo de datos int y usar el return correctamente. Por ejemplo:
int foo(){
return 3;
}
No hace falta nada más, ningún parámetro ni nada. Los punteros se usan, entre otras cosas, para poder modificar desde una función variables de fuera de la función (paso por referencia en vez de por valor).
Lo que pasa es que luego tienes que usar el valor devuelto por la llamada a la función, por ejemplo:
int resultado = 2 + foo();