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

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

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

Подскажите, пожалуйста! Есть функция:
void fun(int num, char *name[])
{
    for(int i=0; i<num; i++)
         std::cout<<name[i];
}
Нужно проинициализировать для этой функции char *name[]
int main()
{
char* pName[] = {"111", "222", "333"};
 
fun(3, name);
}
Компилятор упорно говорит : no matching function for call to 'fun(int, char*[3])' Как это исправить?

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

textual
Листинг программы
#include <stdio.h>
void fun(int num, char *name[])
{
    int i;
    for( i=0; i<num; i++)
         printf("%s", name[i]);
 
}
int main()
{
  char* pName[] = {"111", "222", "333"};
  fun(3, pName);
 
}

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

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

  1. Включается библиотека stdio.h, которая содержит функции для ввода-вывода данных.
  2. Определяется функция fun с двумя аргументами: целочисленным num и массивом char *name[].
  3. Внутри функции инициализируется переменная i как 0.
  4. Запускается цикл for, который выполняется до тех пор, пока i меньше num.
  5. Внутри цикла происходит печать значения name[i] с помощью функции printf.
  6. После выполнения цикла, значение i увеличивается на 1.
  7. Функция fun заканчивается.
  8. В функции main инициализируется массив pName[] с тремя элементами: 111, 222, 333.
  9. Вызывается функция fun с аргументами 3 и pName.
  10. Функция main заканчивается.

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


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

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

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