В чём ошибка? - C (СИ) (69628)

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

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

Всем привет у меня вопрос, есть код и в нём нужно разделить 2 переменные типа float с использованием указателя. Но при делении у меня выводит значение 0.000. Что я сделал не так ?
#include <stdio.h>
#include <stdlib.h>
 
void Zusatz (int *a, int *b, int *c)
{
    *c=*a+*b;
}
void Subtraktion (int *a, int *b, int *c)
{
    *c=*a-*b;
}
void Multiplikation (int *a, int *b, int *c)
{
    *c=(*a)*(*b);
}
void Teilung (int *a, int *b, float *c)
{
    *c=(*a)/(*b);
}
void Exponent (int *a, int *b, int *c)
{
    int i;
    *c = 1;
 
    for(i = 1; i <= *b; ++i)
    {
        *c *= *a;
    }
}
 
int main(void)
{
    int a,b,c;
 
    printf("a = ");
    scanf("%d",&a);
    printf("b = ");
    scanf("%d",&b);
 
    Zusatz (&a, &b, &c);
    printf("\n%d", c);
    Subtraktion (&a, &b, &c);
    printf("\n%d", c);
    Multiplikation (&a, &b, &c);
    printf("\n%d", c);
    Teilung (&a, &b, &c);
    printf("\n%.2f", c);
    Exponent (&a, &b, &c);
    printf("\n%d", c);
 
    return 0;
}

Решение задачи: «В чём ошибка?»

textual
Листинг программы
*c=(float)(*a)/(*b);

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

  1. В данном коде происходит деление одного числа на другое и результат сохраняется в переменной c.
  2. a и b - это указатели на числа, которые будут использованы для деления.
  3. Тип данных переменных a и b должен быть таким же, как и у переменной c, то есть float (число с плавающей точкой).
  4. Для выполнения деления используется операция /.
  5. Для приведения типов данных к нужному типу используется операция (float).
  6. Для доступа к значению, на которое указывает указатель, используется оператор *.
  7. Результат деления сохраняется в переменной c.
  8. Значение переменной c будет использоваться в дальнейшей работе программы.

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


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

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

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