Jestem trochę zdezorientowany. Miałem wrażenie, że poprawny sposób odczytu napisu C scanf()
przebiega zgodnie z liniami
(nieważne możliwe przepełnienie bufora, to tylko prosty przykład)
char string[256];
scanf( "%s" , string );
Jednak wydaje się, że działa też:
scanf( "%s" , &string );
Czy to tylko mój kompilator (gcc), szczęście czy coś innego?
scanf
, a zarówno pytanie, jak i zaakceptowana odpowiedź skupiają się na to i pomiń krytycznie ważne ograniczenia dotyczące maksymalnej długości danych wejściowych, które powinny być używane w rzeczywistym kodzie (ale poza tym, o co chodzi w tym pytaniu).