Skip to content

Instantly share code, notes, and snippets.

@phaya
Last active December 24, 2015 17:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phaya/1abd04c09ee35024576c to your computer and use it in GitHub Desktop.
Save phaya/1abd04c09ee35024576c to your computer and use it in GitHub Desktop.
El siguiente programa funciona incorrectamente ya que nunca llega a pedir el nombre, en cambio si cambiamos el orden en que se piden los datos al usuario (primero el nombre y luego la fecha) si que funciona ¿por qué? ¿cómo solucionarías el problema sin cambiar el orden? Además, ¿qué función emplearías para eliminar la insegura y peligrosa `gets`?
#include <stdio.h>
int main() {
int age;
char name[30];
printf("How old are you? ");
scanf("%d", &age);
printf("What's your name? ");
gets(name);
printf("Hi %s! You're %d years old", name, age);
return 0;
}
Copy link

ghost commented Oct 10, 2013

Es gets el que se lo traga todo.

@phaya
Copy link
Author

phaya commented Oct 12, 2013

¡Bien, bien! He realizado un post http://pablohaya.com/2013/10/12/diferencia-entre-scanf-gets-y-fgets/ con una descripción más detallada entre las diferencias entre scanf, gets y fgets. También se propone una solución alternativa a las que habéis dado.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment