当读到 ] 的时候scanf("%lf",&response);会返回失败, 并且 ] 还在,这样, 循环就会一直在 ] 这里返回失败, 于是就死循环了.你可以看scanf函数的返回值的说明.
读到']'就不能继续读了,但又跳不出循环,就死循环了