帮帮我,为什么不对
#include<bits/stdc++.h>
using namespace std;
int r,a[100],n;
void dfs(int sw){
int i;
if(sw>r){
for(i=1;i<=r;i++){
cout<<setw(3)<<a[i];
}
cout<<endl;
return ;
}
for(i=a[sw-1]+1;i<=n;i++){
a[sw]=i;
dfs(sw+1);
}
}
int main()
{
cin>>n>>r;
dfs(r);
return 0;
}