ROB BOWDEN: Hei, olen Rob Bowden, ja puhutaanpa quiz0. Joten, ensimmäinen kysymys. Tämä on kysymys, jossa sinun piti koodata numero 127 binary sipulit. Jos halusi, voisit tehdä säännöllisesti muuntaminen alkaen bi-- tai mistä desimaalin binary. Mutta se menee todennäköisesti ottaa paljon aikaa. Tarkoitan, voisit selvittää, että OK, 1 on olemassa, 2 on siellä, 4 on siellä, 8 on siellä. Helpompi tapa, 127 on 128 miinus yksi. Että vasemmanpuoleisin lamppu on 128-bittinen. Joten 127 on oikeastaan ​​vain kaikki muut hehkulamput, koska se on vasemmanpuoleisin hehkulamppu miinus 1. Se on siinä, että kysymys. Kysymys yksi. Joten 3 bittiä voit edustavat 8 erillisiä arvoja. Miksi sitten on 7 suurin ei-negatiivinen desimaalikokonaisluku voit edustavat? No, jos voimme vain edustavat 8 erillisiä arvoja, niin mitä me aiomme olla eli on 0 kautta 7. 0 vie yksi arvoista. Kysymys kaksi. N bittiä, kuinka monta erillistä arvot voivat edustat? Niin, jossa on n bittiä, sinulla on 2 mahdolliset arvot kullekin vähän. Joten meillä on 2 mahdolliset arvot ensimmäinen bitti, 2 mahdollista arvoa Toisen, 2 mahdollista kolmas. Ja niin se on 2 kertaa 2 kertaa 2, ja lopulta vastaus on 2 n. Kysymys kolme. Mitä 0x50 binary? Niin muista, että heksadesimaaliluvuksi on hyvin suoraviivainen muuntaminen binary. Joten tässä, meidän täytyy vain katsoa 5 ja 0 itsenäisesti. Joten mitä 5 binary? 0101, joka on 1-bittinen ja 4-bittinen. Mikä 0 binary? Ei hankalaa. 0000. Joten vain laittaa ne yhteen, ja se on täysi määrä binary. 01010000. Ja jos halusi voisit lentoonlähdön vasemmanpuoleisin nolla. Se on merkityksetöntä. Niin sitten vaihtoehtoisesti mikä on 0x50 desimaali? Jos halusi, voit could-- jos olet mieluummin binary, voisit ottaa, että binary vastaus ja muuntaa sen osaksi desimaalin. Tai voisimme vain muistaa että heksadesimaaliluvuksi. Niin että 0 on 0-sijallaan ja 5 on 16 ensimmäiseen paikkaan. Joten tässä meillä on 5 kertaa 16 Ensimmäinen, plus 0 kertaa 16 nolla, on 80. Ja jos katsoit Otsikon kysymykseen, se oli CS 80, joka oli eräänlainen vihje vastaus tähän ongelmaan. Kysymys viisi. Meillä on tässä Scratch kirjoitus, joka on toistaen 4 kertaa maapähkinävoita hyytelöä. Miten siis nyt koodin että C? No, meillä on here-- osa lihavoitu on vain osa sinun piti toteuttaa. Joten meillä on 4 silmukan, joka on silmukoiden 4 kertaa, printf-ing maapähkinävoita hyytelö, uuden linjan ongelma kysyy. Kysymys kuusi, toinen Scratch ongelma. Näemme, että olemme ikuisesti silmukan. Sanomme muuttujan i ja sitten kasvattamalla I 1. Nyt haluamme tehdä sen C. On useita tapoja olisimme voineet tehdä tämän. Täällä tapahtui koodaamaan ikuisesti silmukan while (true). Joten me julistamme muuttujan i, vain kuten meillä oli muuttuja i Scratch. Julistaa muuttuja i, ja ikuisesti while (true), sanomme muuttujaa i. Joten printf% i-- tai olisit voinut käyttää% d. Sanomme, että muuttuja, ja sitten kasvattamaan sitä, i ++. Kysymys seitsemän. Nyt haluamme tehdä jotain hyvin samankaltaisia Mario piste C ongelma asetettu. Haluamme tulostaa nämä hashtags, Haluamme julkaista viisi kolme suorakulmion näiden tiivisteiden. Joten miten aiomme tehdä? No, me annamme sinulle koko nippu koodin, ja juuri tulee täyttää tulostaa verkkoon toiminto. Joten mitä PrintGrid näyttää? No olet ohi leveys ja korkeus. Joten meillä on ulompi 4 silmukka, joka on kiehkura kaikkien rivien tämän grid että haluamme tulostaa. Sitten meillä on inter-sisäkkäistä 4 silmukan, se tulostamista jokaisessa sarakkeessa. Joten jokaista riviä, me painamme varten jokainen sarake, yksi tiiviste. Sitten lopussa rivin me painamme yksi uusi linja mennä seuraavalle riville. Ja siinä se koko verkkoon. Kysymys kahdeksan. Toimivat kuten PrintGrid sanotaan on sivuvaikutus, mutta ei paluuta arvo. Selitä ero. Joten tämä riippuu sinusta muistaa mitä sivuvaikutus on. No, paluu value-- Tiedämme PrintGrid ei on paluu arvo, koska täällä se sanoo mitätön. Joten mitään joka palauttaa void ei oikeastaan ​​palaa mitään. Joten mikä on sivuvaikutus? No, haittavaikutus on mitään tällaista jatkuu jälkeen toiminto päät joka ei ollut juuri palannut, ja se ei ollut vain panoksista. Niinpä esimerkiksi, voisimme muuttaa globaali muuttuja. Se olisi sivuvaikutus. Tässä nimenomaisessa tapauksessa, erittäin tärkeä sivuvaikutus tulostaa näytölle. Niin, että on sivuvaikutus että PrintGrid on. Painamme näitä asioita näytön. Ja voit ajatella että sivuvaikutuksena, koska se on jotain, joka jatkuu tämän jälkeen toiminto päättyy. Se on jotain ulkopuolelle Tämän toiminnon, joka lopulta ollaan muuttamassa, kuvaruudun sisältöä. Kysymys yhdeksän. Harkitse ohjelman alla, johon rivi numeroita on lisätty vuoksi keskustelu. Joten tässä ohjelmassa olemme vain soittamalla GetString, varastointia Tässä muuttuja s, ja sitten tulostus että muuttuja s. OK. Joten miksi linjalla yksi on läsnä. #include CS50 piste h. Miksi meidän täytyy #include CS50 piste h? No me soittamalla GetString toiminto, ja GetString on määritelty vuonna CS50 kirjastossa. Joten, jos meillä ei ole #include CS50 piste h, saisimme että implisiittinen ilmoitus on GetString toiminnon virhe alkaen kääntäjä. Joten meidän täytyy sisällyttää library-- Meidän täytyy sisällyttää header-tiedosto, tai muuten kääntäjä ei tunnustavat, että GetString olemassa. Selittäkää, miksi linja kaksi on läsnä. Joten standardi io piste h. Se on täsmälleen sama kuten edellisessä tehtävässä, paitsi sen sijaan käsittelevät GetString, puhumme printf. Joten jos emme sano meidän sisällyttää standardin io piste h, meillä ei pystyisi käyttää printf toiminto, koska kääntäjä ei tiedä siitä. Why-- mitä merkitystä Tyhjän linjassa neljä? Joten tässä meillä on int main (void). Se on vain, että meidän eivät saa mitään komentoriviä argumentit main. Muista, että voisimme sanoa int main int argc merkkijono argv suluissa. Joten tässä me vain sanoa mitätön sanoa me sivuuttavat komentoriviargumentteja. Selitä, suhteen muistia, tarkalleen mitä GetString linjassa kuusi palaa. GetString on palaamassa lohko muisti, joukko merkkejä. Se on todella palaamassa osoitin ensimmäisen merkin. Muista, että merkkijono on char tähden. Niin n on osoitin ensimmäiseen merkki tahansa merkkijono että käyttäjä kirjoittaa näppäimistöllä. Ja että muisti sattuu olemaan malloced, niin että muisti on kasassa. Kysymys 13. Harkitse ohjelman alla. Joten kaikki tämä ohjelma tekee on printf-ing 1 jaettuna 10. Joten kun kootaan ja teloitettiin, tämä ohjelma lähdöt 0,0, vaikka 1 jaettuna 10 on 0.1. Joten miksi se 0.0? No, tämä johtuu siitä, kokonaisluku jako. Joten 1 on kokonaisluku, 10 on kokonaisluku. Joten 1 jaettuna 10, kaikki käsitellään kokonaislukuja, ja C, kun teemme kokonaislukujaolla, me katkaista mitään desimaalipilkun. Joten 1 jaettuna 10 0, ja sitten me yritämme tulostaa että float, joten nolla tulostetaan float on 0,0. Ja siksi saamme 0.0. Harkitse ohjelman alla. Nyt olemme tulostus 0.1. Joten ei kokonaislukujaolla, me vain tulostus 0,1, mutta me tulostaa sen 28 desimaalin tarkkuudella. Ja saamme tämän 0,1000, koko joukko nollia, 5 5 5, blah blah blah. Joten kysymys kuuluu, miksi se tulostaa, että sen sijaan, tarkalleen 0,1? Joten syy tässä nyt liukuluku epätäsmällisyys. Muista, että osakkeiden arvo on vain 32 bittiä. Voimme siis vain edustaa rajallinen määrä liukulukudataelementtejä arvojen kanssa 32 bittiä. No siellä on lopulta äärettömän monet liukuluvuiksi, ja siellä on äärettömän monta kelluva kohta arvoja välillä 0 ja 1, ja olemme tietysti pystyä edustavat vieläkin enemmän arvoja kuin että. Joten meidän täytyy tehdä uhrauksia pystyä edustamaan eniten arvoja. Joten arvon kuin 0,1, ilmeisesti emme voi vakuuttaa, että juuri. Joten sen sijaan, mikä on 0,1 teemme Parasta mitä voimme edustamaan tätä 0.100000 5 5 5. Ja se on aika lähellä, mutta Saat paljon sovelluksia sinun tarvitse murehtia liukuluku epätarkkuus, koska emme vain voi edustaa kaikki kelluvat pistettä tarkalleen. Kysymys 15. Mieti alla oleva koodi. Olemme vain tulostus 1 plus 1. Joten ei ole temppu täällä. 1 plus 1 arvioi 2, ja Sitten olemme tulostuksessa. Tämä vain tulostaa 2. Kysymys 16. Nyt olemme tulostus merkki 1 plus merkki 1. Joten miksi tämä ei tulostaa sama asia? No merkki 1 plus-merkki 1 merkki 1 on ASCII-arvo 49. Joten tämä on todellakin nyt 49 plus 49, ja lopulta tämä on menossa painoon 98. Joten tämä ei tulosta 2. Kysymys 17. Täytäntöönpanon loppuunsaattaminen Odd alle siten että funktio palauttaa true, jos n on pariton, ja epätosi, jos n on parillinen. Tämä on suuri tarkoitus mod toimija. Joten otamme argumentti n, jos n mod 2 on 1, samoin se tarkoittaa, että n jaettu 2 oli jäljellä. Jos n jaettuna 2 oli jäljellä, että tarkoittaa, että n on pariton, niin palaamme totta. Else palaamme vääriä. Sinulla on myös voinut tehdä n mod 2 vertaistensa nolla, return false, muuten return true. Harkitse rekursiivinen funktio alla. Joten jos n on pienempi kuin tai yhtä suuri kuin 1, paluu 1, muu paluu n kertaa f n miinus 1. Niin mikä on tämä toiminto? No, tämä on vain kertoma toiminto. Tämä on hienosti edustettuna kun n kertoma. Joten kysymys 19 nyt, haluamme otettava tämä rekursiivinen funktio. Haluamme tehdä iteratiivinen. Niin miten me sen teemme? Hyvin henkilöstön ratkaisu, ja taas siellä useita tapoja olisit voinut tehdä että aloitamme tällä int tuote on 1. Ja koko tämän varten silmukka, olemme menossa voidaan kertomalla tuote lopulta päätyä Monimuuttujakoeajot. Joten int i = 2, i on pienempi kuin tai yhtä suuri kuin n, i ++. Saatat ihmetellä, miksi i = 2. No, muista, että täällä meidän on Varmista meidän tukikohta tapauksessa on oikea. Joten jos n on pienempi kuin tai yhtä suuri kuin 1, me vain palaavat 1. Joten tänne, aloitamme i = 2. No jos olisin 1, sitten the-- tai jos n oli 1, sitten silmukkakytkentäjohdotukseen ei suorita lainkaan. Ja niin me olisi vain paluu tuote, joka on 1. Vastaavasti, jos n oli vähempään kuin 1-- jos se olisi 0, negatiivinen 1, whatever-- olisimme vielä palaamassa 1, joka on juuri rekursiivinen versio on tekemässä. Nyt, jos n on suurempi kuin 1, niin olemme menossa tehdä ainakin yksi iterointia tämän silmukan. Joten sanokaamme n on 5, niin olemme aiot tehdä tuote kertaa = 2. Nyt tuote on 2. Nyt aiomme tehdä Tuotteiden kertaa yhtä suuri kuin 3. Nyt se on 6. Tuotteiden kertaa yhtä kuin 4, nyt se on 24. Tuotteiden kertaa on 5, nyt se on 120. Niin sitten lopulta olemme palaamassa 120, mikä on oikein 5 kertoma. Kysymys 20. Tämä on yksi, jossa sinun täytyy täyttää Tämän taulukon minkään tietyn algoritmin, mitään, että olemme nähneet, että sopii näihin algoritminen run kertaa nämä asymptoottinen ajoajat. Joten mikä on algoritmi, joka on omega 1, mutta iso O n? Joten ei voi olla äärettömän monia vastauksia täällä. Yksi että olemme nähneet luultavasti Usein on vain lineaarinen haku. Joten parhaassa tapauksessa skenaario, kohta olemme HAKU on listan alkuun ja niin omega 1 vaiheet, Ensiksi meidän tarkistaa, me vain välittömästi takaisin että löysimme kohteen. Pahimmassa tapauksessa, Esityslistalla on lopussa, tai kohde ei ole luettelossa lainkaan. Joten meidän täytyy etsiä Koko lista, kaikki n elementtejä, ja siksi se on O, n. Joten nyt se on jotain, joka on sekä omega n log n, ja iso O n log n. No osuvimmat asia olemme nähneet tässä Lomituslajittelu. Joten Lomituslajittelu, muistaa, on lopulta Theta on n log n, jossa theta määritellään jos molemmat omega ja iso O ovat samat. Molemmat n log n. Mikä on jotain, joka on omega n, ja O n potenssiin? No, taas siellä useita mahdollisia vastauksia. Täällä meillä sattuu sanoa Kuplalajittelu. Lisäyslajittelu toimisi myös täällä. Muista, että Kuplalajittelu on, että optimointi missä, jos sinulla on mahdollisuus saada läpi koko lista tarvitsematta tehdä mitään swap, sitten hyvin, voimme heti palata, että Luettelo on lajiteltu aluksi. Joten parhaassa tapauksessa, se on vain omega n. Jos se ei ole vain kauniisti lajiteltu lista aluksi, Sitten meillä on O n potenssiin swap. Ja lopuksi, meillä on valinta Lajittele N potenssiin, sekä omega ja iso O. Kysymys 21. Mikä kokonaisluvun ylivuoto? No sekin vastaa aiemmin, meillä on vain äärellisen monta bittiä edustaa kokonaisluku, joten ehkä 32 bittiä. Sanotaan meillä on allekirjoitettu kokonaisluku. Sitten lopulta korkein positiivinen luku voimme edustaa on 2 31 miinus 1. Mitä tapahtuu, jos yritämme sitten suurennettava että kokonaisluku? No, me aiomme mennä 2 31 miinus 1, kaikki alas negatiiviseksi 2 ja 31. Joten tämä kokonaisluvun ylivuoto on kun pidät inkrementoimalla ja lopulta et voi saa mitään korkeampaa ja se vain ylireagoi aina takaisin noin negatiivinen arvo. Entä puskurin ylivuoto? Joten puskuri overflow-- muistaa, mitä puskuri on. Se on vain kimpale muistia. Jotain array on puskuri. Joten puskurin ylivuoto, kun yrität käyttää muistia päättymisen jälkeen, että jono. Joten jos sinulla on taulukon koko 5 ja te yrität käyttää array kiinnike 5 tai kiinnike 6 tai kannatin 7, tai mitään muuta kuin loppuun, tai edes mitään below-- array kiinnike negatiivinen 1-- kaikki nämä ovat puskurin ylivuotoja. Olet koskettaa muisti huonolla tavalla. Kysymys 23. Joten tässä yksi tarvitset toteuttaa strlen. Ja kerromme teille, että voit olettaa s ei voi olla tyhjä, joten sinun ei tarvitse tehdä mitään tarkistaa null. Ja on olemassa useita tapoja olisit voinut tehdä tämän. Täällä me vain ottaa yksinkertainen. Aloitamme laskuri, n. n on laskemalla, kuinka monta merkkiä on olemassa. Joten aloitamme 0, ja sitten me kerrata koko listan. Onko s kiinnike 0 vastaa null terminaattori merkki? Muista etsimme null terminaattori merkki määrittää, kuinka kauan meidän jono on. Joka on menossa lopettaa asiaan merkkijono. Niin on s kiinnike 0 yhdenvertaisen jotta null terminaattori? Jos se ei ole, niin me tulemme katsokaa s kiinnike 1, s kiinnike 2. Meidän pitää käynnissä kunnes olemme löytää null terminaattori. Kun olemme löytäneet sen, sitten n sisällä kokonaispituus merkkijonon, ja voimme vain palata siihen. Kysymys 24. Joten tämä on yksi, jossa voit täytyy tehdä kaupan pois. Niin yksi asia on hyvä yhdessä tavalla, mutta miten se on huono? Joten tässä, Lomituslajittelu taipumus olla nopeampi kuin Kuplalajittelu. Sanottuani that-- hyvin, siellä useita vastauksia täällä. Mutta tärkein on, että Kuplalajittelu on omega N lajitellun luettelon. Muista, että taulukko me juuri nähnyt aiemmin. Joten kupla lajittelee omega n, parhaassa tapauksessa on se voinut vain mennä yli luettelon kerran, määrittää hei tämä asia on jo lajitellaan, ja paluu. Lomituslajittelu, mitä teet, on omega n log n. Joten lajitellun luettelon, kupla Lajittele tulee olemaan nopeampi. Nyt entä liittyvät luettelot? Joten linkitetyn listan voi kasvaa ja kutistua sopimaan yhtä monta alkiota kuin tarvitaan. Ottaa sanoi that-- niin yleensä suora vertailu tulee olemaan sidoksissa lista array. Joten vaikka paneelit voi helposti kasvaa ja kutistua sopimaan yhtä monta alkiota tarpeen, linkitetty lista verrattuna array-- array on random access. Voimme indeksi mihinkään Erityisesti alkiota. Joten linkitetty lista, emme voi vain mennä Fifth Element, meidän täytyy kulkea alusta kunnes saamme viides elementti. Ja että menee estää meitä tekemässä jotain binäärihaku. Puhuminen Binäärihaku, binäärihaku yleensä nopeammin kuin lineaarinen haku. Ottaa sanoi that-- niin, yksi mahdollinen asia on, että et voi tehdä binary etsiä liittyvät luettelot, voit vain tehdä sen paneelit. Mutta todennäköisesti vielä tärkeämpää, et voi tehdä binäärihaku on array, joka ei lajitella. Etukäteen ehkä lajitella array, ja vasta sitten voidaan teet Binäärihaku. Joten jos asia ei ole lajitellut aluksi, sitten lineaarinen haku saattaa onnistua nopeammin. Kysymys 27. Mieti siis ohjelman alla, mikä tulee olemaan seuraava dia. Ja tämä on yksi missä olemme menossa haluavat nimenomaisesti arvot eri muuttujien. Joten katsotaanpa sitä. Joten linjalla yksi. Olemme int x on 1. Se on ainoa asia, joka on tapahtunut. Joten linja yksi, näemme taulukko, että y, a, b, ja tmp ovat kaikki pimensi. Niin mikä on x? No me vain asettaa se vastaa 1. Ja sitten linjalla kaksi, hyvin, näemme, että y on asetettu 2, ja pöytä on jo täytetty meille. Niin x on 1 ja y on 2. Nyt linja kolme, olemme nyt sisällä swap toiminto. Mitä me kulkea vaihtaa? Ohitimme ampersand x ja & -merkki y b. Jos ongelma aikaisemmin totesi, että osoite X on 0x10, ja osoite y on 0x14. Niin a ja b ovat yhtä kuin 0x10 ja 0x14, vastaavasti. Nyt rivillä kolme, mitkä ovat x ja y? No, mikään ei ole muuttunut x: n ja y: tässä vaiheessa. Vaikka ne ovat sisällä tärkein pinokehys, ne on vielä sama arvot kuin ennenkin. Emme ole muuttaneet mitään muistikuvaa. Niin x on 1, y on 2. Selvä. Joten nyt me sanoimme int tmp yhtä suuri tähti. Joten rivillä neljä, kaikki on sama paitsi TMP. Emme ole muuttaneet mitään arvoja mitään paitsi TMP. Asetamme TMP yhtä suuri tähti. Mikä on tähti? No, pisteitä X, niin tähti on menossa yhdenvertaisen X, joka on 1. Joten kaikki on kopioitu alas, ja TMP on asetettu 1. Nyt seuraava rivi. Star yhtä suuri tähti b. Joten linja five-- taas hyvin, kaikki on sama kuin mitä tähti on. Mikä on tähti? No, me vain sanoi tähti on x. Joten olemme muuttumassa x yhdenvertaiseen tähti b. Mikä on tähti b? y. b pistettä y. Joten tähti b on y. Joten olemme asettamalla x yhtä kuin y, ja kaikki muu on sama. Joten näemme seuraavan rivin, että x on nyt 2, ja loput ovat vain kopioidaan alaspäin. Nyt seuraava rivi, tähti b on yhtä kuin TMP. No, me vain sanoi tähti b on y, joten olemme asettamalla y sama TMP. Kaikki muu on samaa, niin kaikki menee kopioitu alas. Olemme asettamalla y yhtä suuri TMP, joka on yksi, ja kaikki muu on sama. Nyt vihdoin, linja seitsemän. Olemme takaisin päätehtävä. Olemme sen jälkeen vaihto on valmis. Olemme menettäneet, b, ja TMP, mutta lopulta me ole muuttamassa mitään arvoja mitään tässä vaiheessa, me vain kopioida x ja y alaspäin. Ja me näemme, että x ja y ovat nyt 2 ja 1 eikä 1 ja 2. Swap on suoritettu onnistuneesti. Kysymys 28. Oletetaan, että kohtaat virheilmoitukset Alla virka-aikana ensi vuonna CA tai TF. Neuvoa miten korjata kukin näistä virheistä. Niin määrittelemätön viittaus GetString. Miksi voisi näet tämän? No, jos opiskelija käyttää GetString niiden koodin, ne ovat oikein Hash mukana CS50 dot h sisällyttää CS50 kirjasto. No, mitä he täytyy korjata tämä virhe? Heidän täytyy tehdä viiva lcs50 osoitteessa komentorivillä kun he kokoamisessa. Joten jos ne eivät läpäise kalahtaa viiva lcs50, he aio olla todellinen koodi, joka toteuttaa GetString. Kysymys 29. Epäsuorasti julistamisesta kirjastofunktion strlen. No tämä nyt, ne eivät ole tehty asianmukainen hash kuuluu. Tässä nimenomaisessa tapauksessa, otsikkotiedosto ne täytyy sisällyttää on merkkijono piste h, ja myös string piste h, nyt student-- nyt kääntäjä on pääsy julistuksia strlen, ja se tietää, että koodi käyttää StrLen oikein. Kysymys 30. Enemmän prosenttia muunnokset kuin tietojen argumentteja. Niin mitä tämä on? Muistan hyvin, että nämä prosenttia signs-- miten he liittyvät printf. Joten Printf voisimme percent-- voisimme tulostaa jotain kuten prosenttia i kenoviiva n. Tai voisimme tulostaa kuten prosenttia i, tilaa, prosenttia i, avaruus, prosenttia i. Joten jokaiselle näistä prosenttia merkkejä, tarvitsemme siirtää muuttujan lopussa printf. Joten jos sanomme printf paren prosenttia i kenoviiva n lähellä paren, hyvin, sanomme, että olemme painoon kokonaisluku, mutta silloin emme läpäise printf kokonaisluvun itse tulostaa. Joten tässä lisää prosenttia tuloksia kuin tiedot argumentteja? Se on sanoa, että meillä on läjän prosentteja, ja meillä ei ole tarpeeksi muuttujia todella täyttää nämä prosentteja. Ja sitten ehdottomasti, sillä kysymys 31, menettänyt lopullisesti 40 tavua yhdessä korttelin. Joten tämä on Valgrind virhe. Tämä on selvää, että jossain koodissa, sinulla on osuudesta, joka on 40 tavua suuria, jotta malloced 40 tavua, ja et koskaan vapautti sen. Todennäköisesti sinun tarvitsee vain löytää muistia vuotaa, ja löytää, jos joudut vapauttaa tämän lohkon muistia. Ja kysymys 32, virheellinen kirjoitus koko 4. Jälleen tämä on Valgrind virhe. Tämä ei tarvitse tehdä muistilla vuotoja nyt. Tämä on suurin likely-- tarkoitan, se on jonkinlainen virheellinen muistin oikeuksia. Ja todennäköisesti tämä on jonkin verran tavallaan puskurin ylivuoto. Missä sinulla on joukko, ehkä kokonaisluku array, ja katsotaanpa sanovat, että se on kooltaan 5, ja te yritä koskettaa array kiinnike 5. Joten jos yrität kirjoittaa, että arvo, se ei pala muistia että sinulla todella on pääsy, ja niin olet menossa saada tämän virheen, sanomalla virheellinen kirjoitus koko 4. Valgrind aikoo tunnustaa olet yrittää koskettaa muistiin sopimattomasti. Ja se on siinä quiz0. Olen Rob Bowden, ja tämä on CS50.