if是个条件判断,如果括号中的结果为真,则执行if包含的语句,如果为假则不执行. !是非的意思,就是如果n为真 则!n就是假了,n要为假 则!n就是真了 在C语言中 整数中的0表示假,非0表示真 字符中 '\0'表示假,其他字符表示真. 所以,根据n的不同情况去判断括号中的值为真或假就可以了