小错误,你1和后面的递归写反了,修改后如下
#includelong fact(long n){ return n?n*fact(n-1):1;}int main(){ printf("%ld\n",fact(10));}