Je suis un peu confus à propos de quelque chose. J'avais l'impression que la manière correcte de lire une corde en C scanf()
allait dans le sens de
(sans parler du possible dépassement de tampon, ce n'est qu'un simple exemple)
char string[256];
scanf( "%s" , string );
Cependant, ce qui suit semble fonctionner aussi,
scanf( "%s" , &string );
Est-ce juste mon compilateur (gcc), pure chance ou autre chose?
scanf
, et que la question et la réponse acceptée se concentrent sur cela, et omettez les restrictions cruciales pour la longueur d'entrée maximale qui devraient être utilisées dans le code réel (mais sont d'ailleurs le point de cette question).