打印N个真值的所有真值组合

例:N=2 (true,true),(false,true),(true,false),(false,false)

#include<stdio.h>
int count=0;
void perm(char *list,int n,int i);
int main(void)
{
   size_t n;
   printf("Enter the size:
");
   scanf("%d",&n);
   char Bool[n+1];
   Bool[n-1]='';
   perm(Bool,n,1);
   printf("
 %d",count);
   return 0;
}
void perm(char *Bool,int n,int i)
{
	count++;
    if(i==n)
    {
    	
        Bool[i-1]='T';
        printf("%s
",Bool);
        Bool[i-1]='F';
        printf("%s
",Bool);
        count+=4;
    }
    else
    {
    	count++;
        Bool[i-1]='T';
        count++;
        perm(Bool,n,i+1);
        count++;
        Bool[i-1]='F';
        count++;
        perm(Bool,n,i+1);
    }
}

 
原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732317.html