Тест по Си: где правильно присвоены адреса функций указателям? - C (СИ)
Формулировка задачи:
Задали большой итоговый тест. С 2-мя вопросами затык.
Где правильно присвоены адреса фунцкций указателям? Не понятно немного само задание
И второй вопрос. Исправить ошибки в программе. Много исправил уже. Но все равно не запускается программа. А ее надо сделать рабочей. Я так понимаю, что проблемка в вызове функции
char f1(char);//Определение функции char f2(int);//Определение функции void f3(float);//Определение функции int *f4(char*);//Определение функции char(*ptr1)(int);//Указатель на функцию char(*ptr2)(int);//Указатель на функцию void(*ptr3)(float) = f3;//Инициализированный указатель void main() { pt1 = f1;// pt2 = f3;// pt1 = f4;// pt1 = f2;// pt2 = pt1;// char c = (*pt1)(44);// c = (*pt2)('\t');// }
double avg(int a[], int n) { int s; for (int i = 0; i < n; ++i) s += a[i]; s = s / n; return s; } int main() { int m[] = { 5, 7, 8, 9, 12 }; avg(m[], 5); cout << "Srednee:" << s; return 0; }
Решение задачи: «Тест по Си: где правильно присвоены адреса функций указателям?»
textual
Листинг программы
pt1 = f1; // Неверно pt2 = f3; // Неверно pt1 = f4; // Неверно pt1 = f2; // Верно pt2 = pt1; // Верно char c = (*pt1)(44); // Верно c = (*pt2)('\t'); // Неверно
Объяснение кода листинга программы
pt1 = f1;
- Неверноpt2 = f3;
- Неверноpt1 = f4;
- Неверноpt1 = f2;
- Верноpt2 = pt1;
- Верноchar c = (*pt1)(44);
- Верноc = (*pt2)('\t');
- Неверно
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д