В чём ошибка? - 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);
Объяснение кода листинга программы
- В данном коде происходит деление одного числа на другое и результат сохраняется в переменной
c
. a
иb
- это указатели на числа, которые будут использованы для деления.- Тип данных переменных
a
иb
должен быть таким же, как и у переменнойc
, то есть float (число с плавающей точкой). - Для выполнения деления используется операция
/
. - Для приведения типов данных к нужному типу используется операция
(float)
. - Для доступа к значению, на которое указывает указатель, используется оператор
*
. - Результат деления сохраняется в переменной
c
. - Значение переменной
c
будет использоваться в дальнейшей работе программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д