int a long long int

0

Jaki może być powód tego, że funkcje typu int i zmienne typu int, zwracają poprawne wyniki obliczeń, a gdy zmieniam na long long int, to wychodzą "śmieci" typu -92049553330512312733, chociaż operacje są na liczbach spokojnie mieszczących się w incie, nie są nawet większe od miliona? Wyświetlam coutem, więc to nie jest błąd przy printf.
Czy można operacje typu dodawanie, mnożenie wykonywać na różnych typach zmiennych? Powiedzmy

long long l1,l2,l3;
int a,b,c;
l1=a+b*l2+c+l3;

Chyba nie w tym leży problem?

1

Nie w tym problem, podejrzewam brak inicjalizacji przynajmniej jednej ze zmiennych.

1

Możesz dodac nawet double do boola. Wtedy zachodzi niejawne rzutowanie zmiennych. Tylko kiedy dodasz long long int do inta i obie te liczby zmieszczą sie w incie - problemu nie bedzie. Zatem coś innego pomieszałeś.

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