Ejercicio 3 Practico 0

Re: Ejercicio 3 Practico 0

de Fernando Fernandez -
Número de respuestas: 0
Hola Joaquín.


Va un intento de explicación de las dos preguntas, esta y la de consumir el enter.

El objetivo de ese especificador de formato es permitir leer espacios en blanco como parte del string. Si solo se pone %s la lectura se detiene al encontrar un espacio en blanco. El \n es el carácter de nueva línea y el prefijo ^ quiere decir "cualquier carácter excepto el o los que siguen". Entonces con %[^\n] se lee todo, incluido espacios en blanco hasta encontrar el nueva línea.

El carácter que representa la nueva línea no es leído, no se consume, no se asigna al arreglo en que se está almacenando lo leído. Por lo tanto queda disponible para la próxima lectura. En una sesión interactiva el nueva línea es producido al pulsar la tecla Enter. Si la próxima lectura es "%c" lo que se va a leer y almacenar es el '\n' en lugar del carácter que se desaba leer. Por eso se usa " %c", con un espacio en blanco antes de %c; ese espacio en blanco se empareja con el '\n' pendiente y de esa manera se consume, se usa.

Si no quedó claro, si querés volvé a preguntar, pero hay que tener en cuenta que estos no son temas relevantes para el curso y casi no se le va a dar ningún uso.