Записать содержимое array[] в переменную char *var - C (СИ)
Формулировка задачи:
Имеется у меня массив char array[8]={1,1,1,1,0,0,0,0} стараюсь записать содержимое array[] в переменную char *var т.е. хочу в конечном итоге, чтобы переменная var была инициализированна значением "11110000", пытался сделать это сдеть с помощью цикла for и функции sprintf() - не вышло, так же пытался сделать при помщи функции конкатенации strcat() - не вышло, может кто подскажет как выполнить данную задачу???
Решение задачи: «Записать содержимое array[] в переменную char *var»
textual
Листинг программы
char array[8] = { 1, 1, 1, 1, 0, 0, 0, 0 }; char* var = (char*)calloc(9, sizeof(char)); int i = 0; for (; i < 8; var[i] = '0'+array[i++]); puts(var);
Объяснение кода листинга программы
- Объявляется массив
array[]
типаchar
с размером 8 элементов и инициализируется значениями 1, 1, 1, 1, 0, 0, 0, 0. - В динамической памяти выделяется участок размером 9 элементов для переменной типа
char*
с именемvar
с помощью функцииcalloc()
. - Инициализируется счётчик
i
значением 0. - Запускается цикл
for
, который выполняется до тех пор, пока значение счётчикаi
меньше 8. - Значение переменной
array[i]
преобразуется в строку и записывается в переменнуюvar
с индексомi
. - Значение счётчика
i
увеличивается на 1 после каждой итерации цикла. - Выводится на экран значение переменной
var
с помощью функцииputs()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д