char set[4] = "abc";
const int max_set_num = 1 << 3;
int i, j, k;
for (i = 0; i < max_set_num; i++) { //遍历所有可能的组合,数值从1到2的7次方减1
for (j = 0, k = i; j < 3; j++) { //对于每一个组合,判断二进制位,打印
if (k & 1) {
printf("%c ", set[j]);
}
k = k >> 1;
}
printf("\n"); //得到一个非空集合
}
打印字符串所有的子集
最新推荐文章于 2023-06-08 17:19:09 发布