求n!的代码写下能运行,但不管数字是终端结果都是显示0!=1,不知代码哪里错了


#include <stdio.h>

int main()
{
    int n;
    scanf ("&d",&n);
    
    int fact=1;
    
    int i=1;
    while(i<=n){
        fact*=i;
        i++;
    }
    printf("%d!=%d\n",n,fact);
    return 0;
    
 } 

```c
#include <stdio.h>

int main()
{
    int n;
    scanf ("&d",&n);
    int fact=1;
    
    int i=1;
    for(i=1;i<=n;i++){
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
    return 0;
    
 } 


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/587337533636131.png "=600 #left")

 scanf ("&d",&n);改成scanf ("%d",&n);