c++实现阶乘计算出现错误没看出来

求各位指教 n*--n出现了什么问题


```c++
#include
using namespace std;
int main()
{
    int n,m;
    cout<<"\t----------------------------------------------n!计算器---------------------------------------------------\t"<"请输入一个整数n;"; 
    cin>>n;
    
    while(n>1)
    m=n*--n; 
    
    cout<<"n!="<return 0;
        
}

```

m需要赋初值1,--n也会让n等于-1后的值,然后再跟m相乘,所以不对,而且是m = m * n--;

 #include<iostream>
using namespace std;
int main()
{
    int n,m=1;
    cout<<"\t----------------------------------------------n!计算器---------------------------------------------------\t"<<endl;
    cout<<"请输入一个整数n;"; 
    cin>>n;
    
    while(n>1){
        m=m*n--;  
    } 
    
    cout<<"n!="<<m<<endl;
    return 0;
        
}