Wypisywanie najwiekszej wartosci

0

Witam mam problem. Program nie wypisuje najwiekszej wartosic, a randomowa liczbe (21696).
Gdzie moze byc problem? Jestem poczatkujacy

#include <stdio.h>

int main(int argc, const char * argv[])
{
int p, k, j, y;

printf ("podaj liczbe p \n");
scanf ("%d", &p);
printf ("podaj liczbe k \n");
scanf ("%d", &k);
printf ("podaj liczbe j \n");
scanf ("%d", &j);

p=y;
if (k>y)
{ k=y;}
if (j>y)
{j=y;}


printf ("najwikesza liczba to %d", y);
return 0;

}

0

Koniec końców, wypisujesz zmienną y, z którą nic nie robiłeś — zadeklarowałeś ją tylko, ale nic do niej nie przypisałeś, więc program Ci wypisuje to, co w niej zastał, czyli jakiegoś śmiecia.

0

czyli jak powinna wygladac poprawiona wersja?

zmienna y traktuje jako wartosc maksymalna i y przypisuje wartosc p

0

Zapis a = b; powoduje, że do zmiennej a jest przypisywana wartość zmiennej b, nie na odwrót.

0

Ty chyba na odwrót czytasz przypisania. a = b oznacza, że od teraz zmienna a będzie przechowywać wartość zmiennej b, zaś zmienna b pozostaje bez zmian. Stąd poprawny jest zapis z = 1, ale 1 = z jest już nonsensowny.

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