Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: HBN en 31 Diciembre 2017, 18:20 pm



Título: problema al ejecutar
Publicado por: HBN en 31 Diciembre 2017, 18:20 pm
Hola a todos

Tengo la siguiente estructura:
#include <stdio.h>
#define u 3.14
int main (){
   int a = 12;
   float b =  13.5;
   char c = 'e';
   printf("%i %.2f %c",a,b,c);
   printf ("\ndigite el valor de la variable c:");
   scanf("%c",&c);           
   printf("el valor es :%c",c);
   char x[50];
   printf("\ndigite su nombre :");
   gets(x);          //aca si pongo un scanf me funciona pero no me deja poner el apellido
   printf("\nsu nombre es: %s",x);
   return 0;
   
}
la ultima parte donde esta el gets se la salta ¿alguno me puede ayudar?
Gracias


Título: Re: problema al ejecutar
Publicado por: MAFUS en 31 Diciembre 2017, 18:39 pm
Este es el famoso problema de que debes vaciar el buffer después del scanf para sacar el \n antes de adquirir el siguiente dato.
Después del scanf escribe
Código:
while(getchar()!='\n');