Buenas, estoy intentando crear un programa en el que el usuario entre X numero y éste le devuelva su valor absoluto, usando el operador condicional ?. Pero no se porque no me funciona :S
#include <stdio.h>
main()
{
int a, b;
float c;
printf("Introduce un numero y te dire su valor absoluto ");
scanf("%d", a);
c = a * -1;
b = (a>0) ? a : c;
printf("El valor absoluto es %d", b);
}
Si alguien me dice que es lo que falla, lo agradeceria :P
el fallo en si es el uso que le das al operador. funciona de la siguiente forma
expresion1 ? expresion2:expresion3
si expresion 1 --> cierta
expresion2
sino
expresion3
En tu caso, vendría a ser:
a>0 ? b=a : b=c;
http://es.wikipedia.org/wiki/Operador_ternario
Por cierto: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
El 5º punto de ese post te puede venir bien mirarlo (entre otras cosas del post)
El fallo está en el scanf(), no usas el operador &.
Cita de: Leo Gutiérrez. en 15 Noviembre 2010, 17:37 PM
El fallo está en el scanf(), no usas el operador &.
Que error mas tonto...:D Solucionado, gracias