代码改为K&R风格并且完善注释说明