Вы объявили целочисленную длину массива, размер которой равен 2, т. Е.
int wlength[1];
и в условии if вы увеличиваете wordcount.
Теперь предположим, что у вас есть 4 слова в строке, а количество слов продолжает увеличиваться и будет присвоено wlength index
, но так как вы определили размер массива 2, в котором он переполняется. Таким образом, когда это используется далее в
shortestword = wlength[i];
и
longestword = wlength[i];
, это приводит к назначению нежелательных значений.