Dziwny wynik kompilacji w Devie

Dziwny wynik kompilacji w Devie
R9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Witam. Mam zrobić program który ustawia liczby od najmniejszej do najwiekszej. Nie wiem czy dobrze porozpisywałem warunki lecz jest kłopot z wynikiem kompilacji. Za każdym razem po wprowadzeniu trzech liczb wyrzuca dziwny wynik np: 262641641656
Podobnie dziwne wyniki, tylko krótsze miałem podczas obliczania miejsc zerowych funkcji kwadratowej. Używam Deva na Windows 8 64 bit.
Pomocy !

include <stdio.h>
#include <stdlib.h>

int main() {
int a;
int b;
int c;
printf("Podaj a\n");
scanf("%d",&a);
printf("Podaj b\n");
scanf("%d",&b);
printf("Podaj c\n");
scanf("%d",&c);

if (a<b && b<c) {

	printf ("%d",&a);
	printf ("%d",&b);
	printf ("%d",&c);

}
if (a>b && b>c) {

	printf ("%d",&c);
	printf ("%d",&b);
	printf ("%d",&a);

}

if (a<b && b>c && a>c) {
	printf ("%d",&c);
	printf ("%d",&a);
	printf ("%d",&b);

}

if (a<b && b>c && a<c) {
	printf ("%d",&a);
	printf ("%d",&c);
	printf ("%d",&b);

}

system("PAUSE");
return 0;

}

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

a, b, c to nie wskaźniki. Do printfa podajesz ich adresy zamiast wartości (wywal &).

Weź jakieś lepsze IDE od deva, on jest tragiczny i tragicznie przestarzały.

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
3
Kopiuj
int a,b,c,max;
scanf("%d %d %d", &a, &b, &c);
max = a;
if(b > max) max = b;
if(c > max) max = c;
printf("%d\n", max);
R9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

O faktycznie wywalenie (&) pomogło i program działa jak należy. Tylko nie rozumiem dlaczego tak się stało.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
rufusek94 napisał(a):

O faktycznie wywalenie (&) pomogło i program działa jak należy.

Jakim cudem? Pominąłeś jeszcze 68 wariantów.

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.