!x 就是当 x 等于 0 是返回真,x 不等于 0 就返回假在 for 中的判断就是 x 等于 0 和 i 小于等于 N 才能继续循环。否则退出循环。
!x,除了x为0的时候返回true,其他数字都返回false