Prosta funkcja nie działa

0

Witam serdecznie,
mam prostą funkcję:

#include <stdio.h>
int pow(int a,int b, int c)
{
	if(a>b || a>c)
	{
		return a;
	}
	else if(b>a || b>c)
	{
		return b;
	}
	else
	{
		return c;
	}
}
	
main()
{
		printf("%d ",pow(2,3,4));
} 

I wartość c nie jest brana wgl. pod uwage, probowałem różnie kombinować, zawsze else/else if na trzecim miejscu nie działa.

Czy ktoś mógłby mi dać jakąś wskazówkę?

Z góry bardoz dziękuje.

Karol

0

2,2,5 i zadziała
Mylisz and z or. Tam powinno być && a nie to co masz teraz

0

Żeby dojść do else musisz podać a=b <= c czyli np 3 3 4.

Uważaj też, bo przesłaniasz sobie funkcję pow() z biblioteki standardowej c.

0

Tak okropnie przekombinowałeś że prościej podać gotowca niż wypisać wszystkie problemy:

#include <stdio.h>
int mx(int a,int b) { return a>b?a:b; }
int mx3(int a,int b,int c) { return mx(a,mx(b,c)); }
int main()
  {
   printf("%d ",mx3(2,3,4));
   return 0;
  }
0

Dzięki
Po użyciu && działa poprawnie.

Zadanie polegało na tym, iż muszę je użyć w funkcji :)

Co do pow, to faktycznie - nie powinienem używać, dobra porada. Dzięki wszystkim, miłego wieczoru :))

0

Mylisz się, wciąż nie działa: http://ideone.com/4VMDCL

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