--- I wrote:
> scanf ("%1s%*[\n]", str);You could reply: Just delete the %*[\n] part and it'll work. But then: I did not understand in ISO/IEC 9899:1999(E) at ยง7.19.6.2 page 287 inside "EXAMPLE 3 To accept repeatedly from stdin a quantity, a unit of measure, and an item name:" what the line "fscanf(stdin,"%*[^\n]");" does there?
