开始start是0,end是4,由于每次循环的start加一,end减一,所以start+end永远是4,程序会死循环,当下标超出数组的范围就会数组越界,你就访问了不属于数组的数据,犯法了,被操作系统kill了。
这段程序原本的用意是让数组里的内容反转,头尾交换,直到头尾下标重叠,说明交换到了中间,也就该结束了,所以正确的while条件应该是while(start < end)