매번 두 번째 패스에서 segfault를 제공하는 기능이 있으며 수정 방법을 모릅니다. 어떤 조언을 주시면 감사하겠습니다.Realloc segfault - 오래된 기존 크기가 유효하지 않습니다.
char* testBefore(int k){
char* bin;
bin = calloc(1,1);
while(k > 0) {
bin = realloc(bin, strlen(bin)*sizeof(char)+1);
bin[strlen(bin) - 1] = (k % 2) + '0';
bin[strlen(bin)] = '\0';
k = k/2;
}
printf("\n%s.", bin);
return bin;
}
어떨까요? – user3885166
@ user3885166 문자열의 길이입니다. – 2501
차이점은 무엇입니까? 저는 char *가 C로 된 문자열이라고 생각 했습니까? – user3885166