Błąd przy używaniu wskaźników

0

Witam Wszystkich . Uczę sie wskaznikow czy ktos może wskazać mi błąd w tym programie bo nie wiem o co chodzi a nie ma mi kto pomóc . Z góry dziękuje i pozdrawiam

 #include <stdio.h>
#include <math.h>
int max(float *wsk1, float *wsk2)
{
    if(abs(*wsk1)>abs(*wsk2)) return *wsk1;
    else return *wsk2;
}
int main()
{
   float liczba1;
   scanf("%f", &liczba1);
   float liczba2;
   scanf("%f", &liczba2);
   max(liczba1,liczba2);
    return 0;
}
1

liczba1 i liczba2 to floaty a nie wkaźniki do floata. Jak chcesz wywołać twoją funkcję to musisz przekazać do niej &liczba1 i &liczba2 albo zmienic argumenty funkcji na floaty. Nie wiem po co masz tam wskaźniki ;]

1

Do funkcji max musisz przekazać adresy zmiennych.

PS. Kompilator przy kompilacji mówi co jest źle.

1
#include <stdio.h>
#include <math.h>

float *max(float *wsk1, float *wsk2) { return (abs(*wsk1)>abs(*wsk2))?wsk1:wsk2; }

int main()
  {
   float liczba1,liczba2;
   scanf("%f%f", &liczba1, &liczba2);
   printf("%f\n",*max(&liczba1,&liczba2));
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1