Título: Presentarme y primera peticion de ayuda!!! Publicado por: raulinchi en 22 Octubre 2011, 11:56 am Hola, soy RAul, estoy empezando con C y me han planteado un problema que no me sale, adjunto codigo:
void main(){ int a,b,s,r,suma,resta; printf("Dame dos enteros:\n"); scanf("%d %d", &a,&b); s = suma_resta(a,b,&r); printf("La suma es %d y la resta es %d:\n",suma,resta); } int suma_resta(int x,int y,int *pz){ int suma,resta; suma = x + y; resta = x - y; *pz=resta; return suma; } Utilizando una funcion para realizar la suma y resta, devolviendo la suma y guardando en u puntero la resta para devolverlo ¿Por que no me hace bien la operacion? Gracias y perdonad por la torpeza. Saludos. Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: Slava_TZD en 22 Octubre 2011, 12:39 pm ¿El código es tuyo?
Lo digo x cosas como esta: Código: printf("La suma es %d y la resta es %d:\n",suma,resta); suma y resta no valen nada así que no entiendo que esperas que se imprima. Código
Código: Dame dos enteros: 8 Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: raulinchi en 22 Octubre 2011, 13:12 pm Hola Tzhed y muchas gracias por contestar, en principio decirte que si, el codigo es mil y entiendo que este mal, llevo dos dias intentando comprender algo de C y bueno, pues poco a poco espero aprender algo. Ya entiendo lo que me explicas, gran error por mi parte, muchas gracias. Lo que no entiendo es si es necesario inicializar las variables como lo haces a 0 Muchas gracias de nuevo. Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: Slava_TZD en 22 Octubre 2011, 13:20 pm Siempre que sea posible es recomendable (se deben xD) inicializar las variables, esto es C no BASIC.
Saludos Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: raulinchi en 22 Octubre 2011, 13:42 pm Ok, gracias, asi lo hare..
Saludos. Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: rir3760 en 22 Octubre 2011, 15:34 pm Lo que no entiendo es si es necesario inicializar las variables como lo haces a 0 Depende del caso. No es necesario si lo primero que haces con la variable es asignarle un valor.En tu programa eso (la asignacion) no es seguro (debido a que depende de la entrada estandar) y por ello es mejor verificar el valor de retorno de la funcion scanf: Código
Un saludo Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: raulinchi en 22 Octubre 2011, 15:54 pm Entiendo, lo que haces es verificar que estas metiendo dos valores por teclado, sino te devolveria error, no?
Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: raulinchi en 22 Octubre 2011, 15:59 pm Por cierto, a`rovecho para agradecer vuestra inmediata ayuda..
Muchas gracias. Título: Re: Presentarme y primera peticion de ayuda!!! Publicado por: rir3760 en 22 Octubre 2011, 17:06 pm Entiendo, lo que haces es verificar que estas metiendo dos valores por teclado, sino te devolveria error, no? Correcto. La función scanf retorna el numero de conversiones realizadas con exito y que en tu caso deben ser dos. Si no es asi lo indicamos mediante un mensaje y (a falta de algo mejor) terminamos de inmediato el programa.Un saludo |