c语言结构体问题,分号影响

img

img

img

问题如图所示 为什么需要加一个分号才能编译通过呢 加了分号是不是功能就不对了

是不是因为要写else if呢?编译器认为else后的括号里是执行语句而不是条件语句所以它想让你加分号

这是语法规定

第48行改成else if(k==0)就可以了