#include <stdio.h>
#include <string.h>
void generate_all_possible_binary_strings(char str[], int index) {
if (index == strlen(str)) {
printf("%s\n", str);
return;
}
if (str[index] == '?') {
str[index] = '0';
generate_all_possible_binary_strings(str, index + 1);
str[index] = '1';
generate_all_possible_binary_strings(str, index + 1);
str[index] = '?';
} else {
generate_all_possible_binary_strings(str, index + 1);
}
}
int main() {
char str[] = "1?0?1";
generate_all_possible_binary_strings(str, 0);;
return 0;
}
/*
run:
10001
10011
11001
11011
*/