Массивы указателей - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
#define T 20
void reverseFunc ( char *a[] )
{
    int i;
    printf ("%s ", *a[0]);
}
 
int main()
{
    char *a[N] = {"Hello", "Morning", "Sleep"};
    puts(a[0]);
    reverseFunc ( a );
    return 0;
}
помогите пожалуйста передать указатель на массив, пытаюсь гуглить и т.п но все равно ошибка вылазит у меня просто скоро экзамен((

Решение задачи: «Массивы указателей»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
void reverseFunc ( char **a, int n )
{
    int i;
    for (i=0; i<n; i++) printf ("%s \n", a[i]);
}
 
int main()
{
    char *a[3] = {"Hello", "Morning", "Sleep"};
    puts(a[0]);
    reverseFunc (a,3);
    system("PAUSE");    
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и массивами
  2. Объявление функции reverseFunc с двумя параметрами: указателем на массив указателей и целым числом (размер массива)
  3. Внутри функции объявление переменной i типа int для использования в цикле
  4. В цикле for, выполняемом от 0 до n-1, выводить на экран значение каждого элемента массива a с помощью функции printf
  5. Вызов функции reverseFunc с массивом a и его размером n
  6. Вывод на экран значения первого элемента массива a с помощью функции puts
  7. Ввод в консоль любой буквы, чтобы программа не закрылась мгновенно
  8. Завершение функции main с возвратом значения 0, что означает успешный конец работы программы

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


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

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

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