Передача массива из main() в функцию и обратно - C (СИ)
Формулировка задачи:
Доброго времени суток!
Пишу на С программку, чтобы отработать на ней передачу массива из main() в функцию и обратно. В функцию вроде передавать получается, обратно в main() перекидывать - нет
Можете помочь?
Краткое описание программы: в main() задан массив, пересылаем в функцию F, принимаем результат, вывод на экран. Функция F по сути генерация следующего двоичного числа. Т.е. если на входе будет 001, то на выходе - 010, если на входе - 010, то на выходе - 011 и т.д. Логика, надеюсь, понятна, может даже кому-то и пригодиться этот кусочек кода Закомментированные строки - просто чтобы убедиться, что в F массив приходит правильно
# include <stdio.h> int F(int *mass,int n){ int buff=1; int i=n; int j; while (buff!=0 && i>0){ i--; buff=mass[i]; } if (i!=0){ mass[i]=1; for (j=i+1; j<n; j++) mass[j]=0; } //for (i=0; i<n; i++) //printf("%i", mass[i]); return *mass[0]; } int main(){ int i; int mass[4]={0,0,0,1}; int* Mas[4]; *Mas[0]=F(&mass[0],4); for (i=0; i<4; i++) printf("%i",Mas[i]); return 0; }
Решение задачи: «Передача массива из main() в функцию и обратно»
textual
Листинг программы
F(&mass[0],4); for (i=0; i<4; i++) printf("%i",mass[i]);
Объяснение кода листинга программы
В данном коде:
mass
- это массив, который содержит 4 элемента.i
- это переменная, которая используется в цикле for и принимает значения от 0 до 3.F
- это функция, которая принимает два аргумента: указатель на первый элемент массива и количество элементов.- Внутри функции
F
происходит передача массива и его размера в другую функцию, которая не указана в данном коде. - После передачи массива в функцию, его размер уменьшается на 1, и теперь он содержит только 3 элемента.
- Затем, внутри функции
F
, происходит возвращение массива обратно в основную программу. - После возвращения массива в основную программу, его размер восстанавливается на 4 элемента.
- Затем, в основной программе, происходит печать элементов массива с помощью функции
printf
. - Печатаются элементы массива с индексами от 0 до 3.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д