文字列を 2 つに分割して 2 人の子に渡そうとしています。最初の部分は 12 文字の「0」で、2 番目の部分は 13 文字の「1」でなければなりません。このコードを実行すると、これらのいずれも得られません。具体的には、これが出力です。親の左: 00000000000 親の右: 0000000000001 理由がわかりません。
int bit_count(char *passed, int len){
int left = len/2;
int right =(len/2)+(len % 2);
char *lstring = malloc(sizeof(char)*(left+1));
char *rstring = malloc(sizeof(char)*(right+1));
strncpy(lstring, passed, sizeof(char)*12);
strncpy(rstring, passed+left, sizeof(char)*13);
printf("Parent Left: %s\n", lstring);
printf("Parent Right: %s\n", rstring);