Передача массива из 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]);

Объяснение кода листинга программы

В данном коде:

  1. mass - это массив, который содержит 4 элемента.
  2. i - это переменная, которая используется в цикле for и принимает значения от 0 до 3.
  3. F - это функция, которая принимает два аргумента: указатель на первый элемент массива и количество элементов.
  4. Внутри функции F происходит передача массива и его размера в другую функцию, которая не указана в данном коде.
  5. После передачи массива в функцию, его размер уменьшается на 1, и теперь он содержит только 3 элемента.
  6. Затем, внутри функции F, происходит возвращение массива обратно в основную программу.
  7. После возвращения массива в основную программу, его размер восстанавливается на 4 элемента.
  8. Затем, в основной программе, происходит печать элементов массива с помощью функции printf.
  9. Печатаются элементы массива с индексами от 0 до 3.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5
Похожие ответы