شما وقتی که یک رشته 4 حرفی می خونی یک \0 هم آخرش گرفته میشه (اگر 4 حرف وارد کنی در اصل 5 حرف گرفته میشه ) یعنی باید str رو به این شکل تعریف کنی :
char str[5];
دلیلی هم که سایز عوض میشه به خاطر اینه که احتمالا اطلاعات وکتور بعد از آرایه ذخیره شدن شما وقتی که آرایه خونه 5 امشو عوض می کنی داری به قسمتای غیر مجاز حافظه دست میزنی .