Массив указателей на char - C (СИ)
Формулировка задачи:
Подскажите, пожалуйста!
Есть функция:
Нужно проинициализировать для этой функции char *name[]
Компилятор упорно говорит : no matching function for call to 'fun(int, char*[3])'
Как это исправить?
void fun(int num, char *name[]) { for(int i=0; i<num; i++) std::cout<<name[i]; }
int main() { char* pName[] = {"111", "222", "333"}; fun(3, name); }
Решение задачи: «Массив указателей на 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); }
Объяснение кода листинга программы
В данном коде:
- Включается библиотека stdio.h, которая содержит функции для ввода-вывода данных.
- Определяется функция fun с двумя аргументами: целочисленным num и массивом char *name[].
- Внутри функции инициализируется переменная i как 0.
- Запускается цикл for, который выполняется до тех пор, пока i меньше num.
- Внутри цикла происходит печать значения name[i] с помощью функции printf.
- После выполнения цикла, значение i увеличивается на 1.
- Функция fun заканчивается.
- В функции main инициализируется массив pName[] с тремя элементами:
111
,222
,333
. - Вызывается функция fun с аргументами 3 и pName.
- Функция main заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д