int a long long int

  • Rejestracja: dni
  • Ostatnio: dni
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

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

Chyba nie w tym leży problem?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

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

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
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ś.

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.