Код перестает работать, если его оформить в виде функции - C (СИ)

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

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

Допустим у меня некая программа
#include <stdio.h>
#include <stdlib.h>
void s4et(double,double);
int main(void)
{
    double h=0,c=0;
    printf("Hello world!\n");
    h=c+25;
    c=h+4;*/
    printf("a=%lf\tb=%lf",h,c);
    return 0;
}
Работает она верно, все в порядке, но как только я хочу использовать свою функцию, она работает неверно. Выводит нули. Объясните, пожалуйста, господа присяжные, почему?
#include <stdio.h>
#include <stdlib.h>
void s4et(double,double);
int main(void)
{
    double h=0,c=0;
    printf("Hello world!\n");
    s4et(h,c);
    printf("a=%lf\tb=%lf",h,c);
    return 0;
}
void s4et(double a,double b)
{
    a=b+25;
    b=a+4;
}

Решение задачи: «Код перестает работать, если его оформить в виде функции»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
void s4et(double,double);
int main(void)
{
    double h=0,c=0;
    printf("Hello world!\n");
    s4et(&h,&c);
    printf("a=%lf\tb=%lf",h,c);
    return 0;
}
void s4et(double* a,double* b)
{
    *a=*b+25;
    *b=*a+4;
}

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

  1. Подключение необходимых библиотек: stdio.h и stdlib.h.
  2. Объявление функции s4et с двумя аргументами типа double и двумя указателями на double.
  3. В функции main создаются две переменные типа double: h и c, и инициализируются значением 0.
  4. Вывод сообщения Hello world!.
  5. Вызов функции s4et, в которую передаются адреса переменных h и c.
  6. Вывод значений переменных h и c с помощью функции printf.
  7. Возврат 0 из функции main, что означает успешный конец работы программы.
  8. В функции s4et происходит приведение указателей на double к типу double и запись в них новых значений.
  9. Значение переменной a увеличивается на 25, а значение переменной b на 4.
  10. Значение переменной a записывается в переменную b, а значение переменной b записывается в переменную a.

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


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

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

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