Considera però che, quando nella scanf() specifichi il codice di formato %s, il secondo argomento deve essere un puntatore a char (char *). Detto questo, se passare il semplice nome della stringa o lo stesso nome preceduto da & è, ai fini del risultato, la stessa cosa (perché il valore è lo stesso), non lo è per quanto riguarda la compilazione: l'indirizzo di una stringa di fatto è di tipo char **, cioè puntatore a puntatore a carattere, quindi la compilazione potrebbe segnalarti un warning (se effettuata magari con opzioni più restrittive). In conclusione, poiché è preferibile evitare di prendere cattive abitudini, quando passi una stringa ad una scanf() evita di anteporre la &, senza contare poi che l'ideale sarebbe anche specificare l'ampiezza del buffer nel codice di formato stesso per evitare buffer overflow (o magari evitare del tutto una scanf() per la lettura delle stringhe e ricorrere ad una fgets()).