Estoy un poco confundido acerca de algo. Tenía la impresión de que la forma correcta de leer una cadena C scanf()
seguía las líneas de
(No importa el posible desbordamiento del búfer, es solo un ejemplo simple)
char string[256];
scanf( "%s" , string );
Sin embargo, lo siguiente parece funcionar también,
scanf( "%s" , &string );
¿Es solo mi compilador (gcc), pura suerte o algo más?
scanf
, y tanto la pregunta como la respuesta aceptada se centran en eso, y omita las restricciones críticamente importantes para la longitud máxima de entrada que deberían usarse en el código real (pero que están fuera del punto de esta pregunta).