x
никогда не может (юридически) иметь размер более 14 символов, поскольку он находится в буфере размером 15 (14 пробелов для символов, один для NUL-терминатора), поэтому бессмысленно пытаться проверить, длина не более 15 символов.
Если вы попытаетесь сохранить в нем строку больше 14, это приведет к переполнению массива и, как мы надеемся, вызовет ошибку, подобную той, которую вы испытываете. При желании можно увеличить массив, чтобы он мог содержать более 15 символов, и указать спецификатор ширины для %s
:
char x[30];
scanf("%29s", x); // read a maximum of 29 chars (replace 29 if needed
// with one less than the size of your array)
checkArray(x, 15);