Я пытаюсь преобразовать целое число 10 в двоичное число 1010.
Этот код пытается это сделать, но я получаю segfault в strcat ()):
int int_to_bin(int k)
{
char *bin;
bin = (char *)malloc(sizeof(char));
while(k>0) {
strcat(bin, k%2);
k = k/2;
bin = (char *)realloc(bin, sizeof(char) * (sizeof(bin)+1));
}
bin[sizeof(bin)-1] = '\0';
return atoi(bin);
}
Как преобразовать целое число в двоичное на языке C?