Los siguientes fragmentos de código son de un programa en C.Comparación de caracteres ingresados por el usuario en C
El usuario introduce Y o N.
char *answer = '\0';
scanf (" %c", answer);
if (*answer == ('Y' || 'y'))
// do work
No puedo entender por qué esta declaración if
no se evalúa como verdadera.
Comprobé la entrada y o n con un printf
y está allí, así que sé que estoy obteniendo la entrada del usuario. También cuando reemplazo la condición de la declaración if por 1 (que es verdadera), se evalúa correctamente.
.. o llamando a 'malloc()' – Arun
@ArunSaha: sí, o haz que apunte a una variable local char. – codaddict
¿por qué es necesario poner un espacio antes de% c en scanf? para mí no funciona si elimino el espacio antes de% c en scanf. – hunch