#include#define N 4int arry[N];void recursive (int a[], int n){ if ( n == N) { int i; for(i = 0; i < N; ++i) printf("%d ",a[i]); printf("\n"); return ; } a[n]=0; recursive(a, n+1); a[n]=1; recursive(a, n+1);}void bitShift (int a){ for(int i = 0; i < N; ++i) { printf("%d ",a&1); a >>= 1; } printf("\n");}int main(){ printf("递归结果:\n"); recursive(arry, 0); int i = 0; printf("位移结果:\n"); for(i = 0; i< (1 << N); ++i) bitShift(i); return 0;}
这里面我只用到了4个元素的集合,当然这里的元素个数是自己去定义的。
下面是程序运行的结果图: