b是long long unsigned int
函数sum返回值又是int
输出又是整型%d....
都溢出了
#include<stdio.h>
long long unsigned int sum(int n)
{
long long unsigned int b;
if (n == 1 || n == 0)
{
b = 1;
}
else {
b = n * sum(n - 1);
}
return b;
}
int main()
{
int n;
while (1)
{
printf("\n请输入N的值:");
scanf_s("%d", &n);
printf("\nN! = %lld\n ", sum(n));
}
}