Wyprowadzenie wyniku z funkcji w postaci wskaźnika

Wyprowadzenie wyniku z funkcji w postaci wskaźnika
M7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Cześć, mam takie pytanie dotyczące wskaźnikówL
Otóż mam funkcję, która zwraca dany argument powiedzmy x.
W funkcji tej jest pętla, do której wprowadziłem licznik powiedzmy u, który zlicza mi ilość wykonania tej pętli.
Chciałbym teraz przekazać do głownego programu main zarówno wynik x jak i liczbę powtórzeń pętli u - przeszukując internet znalazłem informacje, że 'u' najlepiej przekazać w postaci wskaźnika tylko teraz nie wiem jak zmodyfikować moją funkcję oraz jej wywołanie w mainie zeby to dzialalo:
Przedstawiam uproszczony schemat problemu(funkcję wymyślilem, dlatego taka łatwa):

Kopiuj
 float fun(float a, float b, int n)
{int i, u=0;
float c;
for(i=0;i<n;i++)
{c=a*b;
u++;
}
return c;
}

Byłbym ogromnie wdzięczny gdyby na przykładzie takiej prostej funkcji, ktoś pokazał mi jak zmienic funkcję fun, żeby wyprowadzić u w postaci wskaźnika i jak odczytać wartość u w main,
Z góry dzięki
Pozdrawiam :)

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
1

O tak:

Kopiuj
void fun(int *ptr) {
  *ptr = 2;
}

int main() {
  int a = 0;
  printf("%d\n", a);

  fun(&a);

  printf("%d\n", a);
  return 0;
}

http://ideone.com/U4X4j

M7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

hmm..dzięki za szybką odpowiedz, ale w przypadku funkcji, która dodatkowo zwraca inny niezalezny argument nie bardzo wiem jak licznik 'u' (zliczający ilość pętli) doprowadzić do postaci wskaźnikowej i w jaki sposób umieścic to w argumentach funkcji, zeby potem móc odpalić funkcję w sposób
y=fun(a, b, n, *ptr) ??

M7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

Ok - już wiem co robiłem źle - wszystko jasne:) - Dzięki wielkie za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.