Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
1

Передача функции в качестве аргумента другой функции

12.03.2012, 14:07. Просмотров 1077. Ответов 2
Метки нет (Все метки)

в книге Харви и Пол Дейтл нашел следующий вариант решения задачи, передачи функции в качестве параметра:
сортировка двух чисел)))
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int ascending (int a, int b){
    return (a>b);
}
 
int descending (int a, int b){
    return (a<b);
}
 
void compare (int x, int y, int (*z)(int a, int b) ){
    int t;
    if((*z)(x, y)){
        t=x;
        x=y;
        y=t;
    }
}
 
int main() {
 
    int flag;
    int a, b;
    printf("a=");
    scanf("%d", &a);
    printf("b=");
    scanf("%d", &b);
    printf("\n");
    printf ("enter 1 to sort in ascending\n enter 2 to sort in descending\n");
    scanf ("%d", flag);
    if (flag == 1){
       compare(a, b, ascending);
    }
    if (flag == 2){
       compare(a, b, descending);
    }
    printf("a= %d b= %d", a, b);
    return 0;
}
программа компилируется но при выполнении вылетает...
помогите разобраться
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 14:07
Ответы с готовыми решениями:

Считывание одной строки, не используя в качестве аргумента функции двойной указатель
Язык C начал изучать недавно. Хочу написать функцию считывания строки без ограничения на её длину....

Передача чисел в качестве параметров функции
Привет, нужна ваша помощь! Вычислить произведение целых чисел, переданных в качестве параметров...

Передача указателя на структуру в качестве параметра функции
Здравствуйте. Прошу помощи в довольно простом (для знающих) вопросе. Задумка такая: из функции...

Функция в качества аргумента другой функции. Ошибка компиляции
Две функции: double get_info(int mode) { int distance, flow_of_fuel; double result; mode...

Вывести в функции main() на экран массив, отсортированный в другой функции
Есть две функции main() и FG(float ARR,int i).Как вывести в функции main() на экран массив...

2
ForEveR
В астрале
Эксперт С++
8003 / 4761 / 653
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
12.03.2012, 14:09 2
C
1
scanf ("%d", flag);
Адрес передавать надо, а передаете саму переменную.
1
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
12.03.2012, 14:17  [ТС] 3
Спасибо. Сорри, что такую глупость на форум пришлось выкладывать...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 14:17

Заполнение структуры, расположенной в одной функции, в другой функции
Здравствуйте. В программе на СИ необходимо осуществить что то подобное. нужна помощь. int main()...

Структура в качестве аргументов функции
здравствуйте, подскажите вот такая фиговина будет работать? struct A{ float x, y; };...

Вычисление значения функции в зависимости от аргумента
Дана функция: у(х): exp(x+5) if x&gt;1; log(abs(sin(pow(x,2)+15*x))) if x&lt;0;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru