源码:
1 #include <stdio.h> 2 #define N 4 3 int arry[N]; 4 5 void recursive (int a[], int n) 6 { 7 if ( n == N) 8 { 9 int i; 10 for(i = 0; i < N; ++i) 11 printf("%d ",a[i]); 12 printf("\n"); 13 return ; 14 } 15 a[n]=0; 16 recursive(a, n+1); 17 a[n]=1; 18 recursive(a, n+1); 19 } 20 21 void bitShift (int a) 22 { 23 for(int i = 0; i < N; ++i) 24 { 25 printf("%d ",a&1); 26 a >>= 1; 27 } 28 printf("\n"); 29 } 30 31 32 int main() 33 { 34 printf("递归结果:\n"); 35 recursive(arry, 0); 36 int i = 0; 37 printf("位移结果:\n"); 38 for(i = 0; i< (1 << N); ++i) bitShift(i); 39 return 0; 40 }