c语言三种死循环