if后面的括号内是判断正误的,所以只要括号里是真的就可以编译通过,是假的就没法通过。跟后面带不带分号无关。 且括号里判断数字的范围,1<=n<=10这种写法是不对的,应写成if( n>=1 && n<=10 ) 。