gets non ti legge bene la stringa in che senso?
Ti segnala che non è sicura perché potrebbe leggere più caratteri di quelli che può contenere il tuo array, è preferibile usare fgets...
Manca un \ e non serve quella scodice:scanf("%[^\n]", auto_array[pos].marca)