11-05-2013, 17:18
Estoy viendo un ejercicio de un final de SSL del 9/3/2011. En el primer punto hay que detectar errores en una función programada en C. Según la resolución en el código no hay errores, pero:
¿(1 + *pi) no es de tipo entero? ¿No tendría que imprimirlo con %d? Por las dudas lo probé en gcc y no lo compila justamente por eso: Format specifies type "double" but the argument has type 'int'.
¿Está mal la resolución o se me está escapando algo?
(De paso, saben si cambió el programa o los ejercicios que toman en los finales? La cursé hace un par de años y no conseguí finales nuevos.)
Gracias!
int i = 2, *pi = &i;
printf("%.1f\\n", 1 + *pi);
¿(1 + *pi) no es de tipo entero? ¿No tendría que imprimirlo con %d? Por las dudas lo probé en gcc y no lo compila justamente por eso: Format specifies type "double" but the argument has type 'int'.
¿Está mal la resolución o se me está escapando algo?
(De paso, saben si cambió el programa o los ejercicios que toman en los finales? La cursé hace un par de años y no conseguí finales nuevos.)
Gracias!