Вы не получите ошибку компилятора, потому что синтаксис правильный. Что неверно, так это логика, а то, что вы получаете, - неопределенное поведение, потому что вы записываете в память после конца буфера.
Почему это неопределенное поведение? Ну, вы не распределили эту память, что означает, что она не принадлежит вам - вы вторгаетесь в область, которая закрыта осторожной лентой. Подумайте, использует ли ваша программа память непосредственно после буфера. Вы перезаписали эту память, потому что переполнили свой буфер.
Рассмотрите возможность использования спецификатора размера следующим образом:
scanf("%9s", aString);
так что вы не переполняете свой буфер.