这段代码里,main函数的n如果是负数还会输出阶乘等于零,要怎么优化?
#include<stdio.h> int factorial(int n) { int result; if(n<0) { printf("输出错误!\n"); return 0; } else if(n==0||n==1) { result=1; } else { result=factorial(n-1)*n; } return result; } int main() { int n=5; printf("%d的阶乘=%d",n,factorial(n)); return 0; }