请问我这有什么问题,为什么答案不对

#include

int main() {
int n;
printf("%d", &n);
long long i = 1;
int fact = 1;
for (i = 1; i <= n; i++) {
fact *= i;
}
printf("%d!=%d\n", n, fact);
return 0;
}
问题;输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。因为阶乘数据较大,程序中的整数请定义成long long型

int fact , fact需要定义long long,print long long 类型注意格式

应该是int i;long long fact;
printf("%d != %lld\n",n,fact);

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^