if的判断条件里面,正确的应该是n==1和n==2。如果写成n=1的话,就变成了将n赋值为1,并且这个算式会返回1,非0即为true。这个判断条件会恒为真,而且n的值也会被改变。
子函数中的判断语句有问题等于符号是==不是=,=是赋值所以一直是进行第一条语句