scanf помещает отсканированные значения в адрес, указанный его аргументами. & Является адресным оператором, и он используется для получения адреса переменной.
Но вы используете массивы, и массивы понижаются до указателей при использовании в качестве аргументов функций. Таким образом, вам не нужно использовать оператор & в случае массивов.
Пример:
char s[81];
int n;
int* nptr;
//Initialize nptr to some meaningful value
scanf("%s %d %d",s,&n,nptr);
В этом случае нам нужно использовать оператор &, чтобы получить адрес, где хранится n. Нам не нужно использовать его с nptr, потому что это уже указатель на какое-то место в памяти, ни с s, потому что массив передается до указателя при передаче в функцию.