Sono un po 'confuso per qualcosa. Ho avuto l'impressione che il modo corretto di leggere una stringa C con scanf()
andato lungo le linee di
(non importa il possibile overflow del buffer, è solo un semplice esempio)
char string[256];
scanf( "%s" , string );
Tuttavia, anche il seguente sembra funzionare,
scanf( "%s" , &string );
È solo il mio compilatore (gcc), pura fortuna o qualcos'altro?
scanf
e sia la domanda che la risposta accettata si concentrano su quello e omettere le restrizioni di fondamentale importanza per la massima lunghezza di input che dovrebbero essere usate nel codice reale (ma oltre al punto per questa domanda).