void stringToBinary(char str[], bool arr[]) {
int n = strlen(str);
arr = (bool*)malloc(sizeof(bool)*n);
for (int i = 0; i < n; ++i) {
arr[i] = (str[i] == '1');
printf("%d", arr[i]);
}
};
上面的代码打印出预期的“ 010101111”。
int main() {
char test[] = "010101111";
bool *output;
stringToBinary(test, output);
printf("\n%d\n", output[0]);
return 0;
};
但是,此代码打印出243; 为什么会这样?