为什么这里要有一个getchar(),把这个注释掉程序可以通过编译但运行结果有问题

问题描述:

图片说明

大佬能不能帮忙具体解释一下这个getchar()[注释符号后面]有什么作用,我以为是多余的,但是注释掉之后循环只能循环一次,这是为什么呢?
初学c,希望大佬帮忙看看,谢谢!

为了在程序里吃掉前面输入的回车,并且让你输入车型,否则gets取得的w可能是"",导致strlen(w)为0,不循环。