[ Foro de C ]
#include "stdio.h"
#include "locale.h"
int main( void )
{
int anio=0;
char genero;
int acepta;
setlocale(LC_ALL, "");
printf("Ingresar el año actual: ");
acepta=scanf("%d", &anio);
printf("Selecciona tu género (H/M): "); while(getchar()!='\n');
acepta+=scanf("%[HhMm]c", &genero);
printf("Finalmente, el año capturado es %d y el género es %c\n", anio, genero);
printf("Se aceptaron %d datos\n", acepta);
return 0;
}
/*
Resultado desplegado:
Ingresar el año actual: 2024
Selecciona tu género (H/M): H
Finalmente, el año capturado es 1792 y el género es H
Se aceptaron 2 datos
Pregunta ¿Si se captura el valor 2024, por que despliega 1972?
*/
Porque el año no lo estás guardando en la variable "anio", sino en la variable "acepta".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)