Wpis z mikrobloga

#gorfagrozdajegry

Dalszy ciąg rozdawania gier z Humble Bundle

Zagadka 3, to zagadka programistyczna.

Jaki output wypluje ten program skompilowany w C i najważniejsze - dlaczego taki. Proszę o jasne wytłumaczenie :) Odpowiedź musi być zawarta w komentarzu, nie może być udzielona w postaci linka do strony.

Dla zwycięzcy pozostały do wyboru:

Dead Space Origin Key

Burnout Paradise: The Ultimate Box Origin Key

Crysis 2 Maximum Edition Origin Key

Medal of Honor Origin Key

Mirror's Edge Origin Key

Sims 3 Starter Pack Origin Key

Battlefield 3 Origin Key

Burnout Paradise: The Ultimate Box Steam Key

Crysis 2 Maximum Edition Steam Key

Medal of Honor Steam Key

Mirror's Edge Steam Key

#gry #humblebundle #steamgifts #zagadkaprogramistyczna #zagadka
gorfag - #gorfagrozdajegry



Dalszy ciąg rozdawania gier z Humble Bundle



Zagadka ...

źródło: comment_YSihNjOKn4CFYmInGaFtfuJxzCwfra6F.jpg

Pobierz
  • 34
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

trzecia linia = zwracamy na ilu bitach zapisana jest ta liczba

wiadomo pierwsze ++a to inkrementacja a o 1 czyli 5, kolejna o kolejne czyli 6

sumą jest 11, ta liczba jest zapisana na 4 bitach

a nie przyjmuje wartości ++a chyba dlatego że przekazujemy ją do funkcji (a więc wartość w pamięci w main nie nadpisuje się)
  • Odpowiedz
@Andr3v: ++zmienna pwodouje powiekszenie PRZEd operacją. W tym zadaniu chodzi o to dlaczewog powimo operatora inkrementacji a pozostaje równe 4 po instrukcji sizeof()
  • Odpowiedz
@brn1: Nawet przy przekazywaniu jako argument operacje na zmiennej są wykonywane, prosze sprawdzić za pomoca dowolnej napisanej funkcji
  • Odpowiedz
@Al_Bundy: Masz rację, uznam ci tą odpowiedź, była w sumie odpowiedzią trochę na około, ale poprawną. W tym zadaniuchodziło o to, że sizeof() mimo, że wygląda jak funkcja, jest w rzeczy wistości zawsze obliczne w czasie kompilacji, stąd ta instrukcja jest wycinana z kodu przez kompilator i obliczenie wyrażenia "++a + ++a" nie następuje.

Możesz wybrać grę :)
  • Odpowiedz