ROB BOWDEN: Kaixo, nago Rob Bowden, eta dezagun hitz quiz0 buruz. Beraz, lehenengo galdera. Galdera hau non dagoen kopuruaren kode behar duzu Bonbillak bitarretan 127. Nahi baduzu, ezin duzu erregularra bihurketa egin bi-- edo, hamartar bitarraren from. Baina hori ziurrenik joan denbora asko hartu. Esan nahi dut, irudikatu ezin duzula, Ados, 1 dago eta 2 ez dago, 4 dago, 8 ez da. Modu errazagoa da, 127 128 ken bat da. Ezkerreko bonbilla Hori da 128 biteko da. Beraz, 127 da benetan guztiak Beste bonbillak argi, geroztik ezkerreko da bonbilla ken 1. Hori da galdera hori da. Bat-galdera. Beraz, 3 bit ahal duzun 8 balio desberdin irudikatzen dituzte. Zergatik, orduan, ez-negatibo handiena 7 da Zenbaki hamartar irudikatu ahal izango duzu? Beno, ezin dugu besterik ez bada, 8 balio desberdin ordezkatzen, orduan zer izan goaz ordezkari 0 7 bidez. 0 hartzen baloreetako bat. Bi galdera. N bit, zenbat desberdin balioak dezakezu ordezkatzen? Beraz, n bit, egun 2 bit bakoitzerako balio posibleak. Beraz, 2 balio posible daukagu lehen bit, 2 balio posible bigarren, 2 hirugarrenean posible. Eta, beraz, 2 aldiz 2 aldiz 2, eta azken finean, erantzuna 2 n da. Hiru galdera. Zein da binary 0x50? Beraz, gogoratu hamaseitarrean duela oso bat erraza binary bihurtzeko. Beraz, hemen, besterik gabe, begiratu behar dugu 5 eta 0 independentean. Beraz, zer da 5 bitarretan? 0101, duten 1 bit eta 4 bit da. Zer da 0 bitarretan? Ez da delikatua. 0000. Beraz, besterik jarri elkarrekin, eta duten binary zenbaki osoa. 01010000. Eta nahi izanez gero ezin duzu aireratzen duten zero ezkerreko. It garrantzirik. Orduan, bestela, zer da hamartarrean 0x50? Nahi izan ezkero, could-- duzun bazaude gehiago binary eroso, Erantzun bitarra dela har dezakegu, eta bihurtu dela hamartarra sartu. Edo, besterik gabe gogoan izan dugu hamaseitar duten. Beraz, 0 eta 0-garren postuan dago, eta 5, 16, lehen lekua da. Beraz, hemen, 5 aldiz 16 behar dugu Lehenengo, plus 0 16 zero da, 80 da. Eta begiratu ezkero at galderaren izenburua, CS 80, izan zen moduko bat izan zen Arazo honi erantzun Hint. Bost galdera. Scratch script hau dugu, hau da, 4 aldiz kakahuete gurina gozoki errepikatuz. Beraz, nola egiten dugu gaur egun kodea duten C? Beno, hemen dugun lodiz zatia ezartzea izan duzun zati bakarra da. Beraz 4 begizta bat den begizta 4 daukagu aldiz, printf-ing kakahuete gurina gozoki, linea berri arazoa eskatzen dute. Sei Galdera, Scratch beste arazo bat. Garela betiko begizta batean ikusten dugu. I aldagai esaten ari gara eta ondoren i incrementing 1 eginez. Orain C. daude egin nahi dugu modu bat baino gehiago dugu hau egin izan da. Hemen kode gertatu dugu betiko begizta, berriz, (egia) gisa. Beraz, aldagai adierazi dugu i, besterik ez atsegin Scratch i aldagai izan genuen. Deklaratu i aldakorra, eta betiko while (true), aldagaiak i esaten dugu. Beraz printf% i edo% d erabili izan daiteke. Aldagai hori esaten dugu, eta ondoren Kontatzailea da, i ++. Zazpi galdera. Orain oso antzeko zerbait egin nahi dugu Mario dot c arazo bat ezarri. Hashtags hauek inprimatu nahi dugu, bost bat inprimatu nahi dugu hiru egiaztapenekin horiek rectangle arabera. Beraz, nola ari garen, zer egin? Beno, zuk ematen dugu osotasunean kodea sorta, eta ezin besterik inprimatu Sareta funtzioa bete behar izango. Beraz, zer ez itxura PrintGrid? Beno Oraindik iraganeko duzu zabalera eta altuera. Beraz, kanpoko bat dugu 4 begizta, den begizta honek ilara osoan du sareta hori inprimatu nahi dugu. Ondoren, urte arteko habiaratua 4 begizta dugu, Zutabe bakoitzaren gainetik inprimatzeko hori. Beraz, ilara bakoitzean, inprimatu dugu zutabe bakoitzean, hash bat bakarra. Ondoren, errenkadan amaieran inprimatu lerro berri bakar hurrengo errenkadan joan. Eta hori da lauki-sare osoan. Zortzi galdera. PrintGrid bezalako funtzio bat da, esan zion Albo-efektu bat buelta bat egin behar du, baina ez balio. Azaldu bereizketa. Beraz, hau gogoratzeko oinarritzen zer albo efektu bat da. Beno, itzulera baten balioa badakigu PrintGrid ez du itzultzeko balio dute, zeren hementxe void dio. Duten hutsunea itzultzen Beraz, ezer ez du benetan ezer. Beraz, zer da albo-efektua? Beno, alboko efektu bat da Ordena jarraitzen duela ezer funtzioaren muturrak ondoren hori ez zen, besterik gabe itzuli zen, eta ez zen besterik input from. Beraz, adibidez, eginen lukeen aldagai global bat aldatu. Hori albo-efektu bat izango litzateke. Kasu honetan, bat Albo-efektu oso garrantzitsua pantailaren inprimatzean. Beraz, albo efektu bat da PrintGrid ditu. Gauza horiek inprimatu dugu pantailan. Eta pentsa dezakezu Bigarren mailako efektu gisa, geroztik zerbait dela jarraitzen funtzio hori amaitu ondoren. Hori esparrutik kanpo zerbait funtzio honen azken finean aldatu jaso, pantailaren edukia. Bederatzi galdera. Aztertu hurrengo programan, lerro zenbakitara dute gehitu eztabaidak eztabaida. Beraz, programa honetan besterik ez dira dugu GetString deituz, gorde hau s aldagai batean, eta, ondoren, aldagai s inprimatzeko. OK. Beraz, azaldu zergatik lerro bat da gaur egun. #include cs50 dot h. Zergatik cs50 dot h # Include behar dugu? Beno deitzen ari gara, GetString funtzioa, eta GetString definitzen da cs50 liburutegia. Beraz, ez badugu dute #include cs50 dot h, adierazpen inplizitua duten lortuko genuke GetString funtzioa errorearen konpiladoreak from. Beraz, liburutegia, besteak beste behar dugu Goiburu-fitxategia gehitzea behar dugu, edo, bestela konpilatzailea will not aitortu GetString badagoela. Azaldu zergatik bi lerro presente. Io dot h Beraz estandarra. Zehazki gauza bera aurreko arazo gisa, ordez aurre egiteko izan ezik GetString, printf buruz hitz egiten ari gara. Beraz, bada ez genuen esan behar dugu io dot h estandarra besteak beste, orduan ez genuke gai printf funtzioa erabiltzeko, konpiladoreak delako ez luke ezagutu. Why-- zer esanahi da of gal lau lerroan? Beraz, hemen dugu int main (void). Hori besterik ez garela esaten Ez zara komando-lerroko edozein lortzean nagusiak argumentuak. Gogoratu int esan genezake nagusia int argc katea argv parentesi. Beraz, hemen esan besterik ez dugu void dugula esan komando lerroko argumentuak jaramonik egin gabe. Azaldu, memoria aldean, zehazki zer GetString lerroan sei itzultzen. GetString bloke bat itzuli egin da memoria, pertsonaiak ezagutuko ditu. Benetan bat itzuli Lehen karaktere erakuslea. Gogoratu kate bat char izar bat da. Beraz, lehenengo erakuslea da izaera edozein dela ere katea da , erabiltzaileak teklatua sartu. Eta memoria hori gertatzen malloced behar da, beraz, memoria hori zeure da. 13. galdera. Demagun programa azpian. Beraz, programa hau, egiten ari da printf-ing 1 10 banatuta. Beraz, bildu eta exekutatu, programa honetan irteerak 0,0, nahiz eta 1 10 arabera banatzen 0,1 da. Beraz, zergatik da 0.0? Beno, horregatik da Zatiketa baten. Beraz, 1 zenbaki oso bat da, 10 oso bat da. Beraz, 1, 10, dena zatituta da osokoak bezala tratatzen, eta C, noiz Zatiketa egiten dugu, Bat hamartar puntu moztu dugu. Beraz, 1 10 arabera banatzen da 0, eta gero saiatzen ari gara duten mugikor bat bezala inprimatzeko, beraz, zero mugikor bat inprimatuta 0,0 da. Eta horregatik lortu dugu 0.0. Demagun programa azpian. Orain inprimatzeko ari gara 0,1. Beraz, zatiketa osoa ez, ari gara inprimatzeko 0,1, baina ari da inprimatzeko dugu 28 hamartarrekin. Eta 0,1000 hau, sorta oso bat lortuko dugu zero, 5 5 5, blah blah blah. Beraz, galdera da hemen zergatik egiten du inprimatu beharrean, zehazki 0,1? Beraz, arrazoia da hemen orain puntu mugikorreko imprecision. Gogoratu mugikor bat duten bit 32 baino ez da. Beraz, bakarrik kopuru mugatu batean irudikatu ahal ren puntu mugikorreko-balioak 32 horiekin bit. Beno, ez da, azken finean, infinituki puntu balio flotatzen asko, eta ez da, infinituki asko flotatzen Puntu 0 eta 1 arteko balioak, eta, jakina, gai gara Hori baino balioak are gehiago ordezkatzen. Beraz, sakrifizio egiteko aukera izan dugu izan baliorik ordezkatzen gai. Beraz, 0.1 bezalako balioa, itxuraz ezin dugu ordezkatzen duten zehatz-mehatz. Beraz ordez 0.1 ordezkaritza horrek egiten dugu best ordezkatzen dugu 0.100000 5 5 honi 5. Eta hori nahiko hurbil, baina aplikazio asko egiteko kezkatu behar duzu koma mugikorreko imprecision, ere, ezin dugu adierazten duelako puntu zehazki flotatzen. 15. galdera. Demagun ondorengo kodea. Zu besterik ez inprimatzeko dugu 1 plus 1. Beraz, ez dago trikimailu ez da hemen. 1 gehi 1 eta 2 ebaluatzen du, eta ondoren, hori ari gara inprimatzeko. Hau besterik ez da bistaratzen 2. 16. galdera. Orain pertsonaia inprimatzeko ari gara 1 plus pertsonaia 1. Beraz, zergatik ez du ez Gauza bera inprimatzeko? Beno pertsonaia 1 plus pertsonaia 1, pertsonaia 1 ASCII balioa 49 dauka. Beraz, hau benetan esaten da 49 gehi 49, eta azken finean, hori da 98 inprimatzeko. Beraz, ez du hau inprimatu 2. 17 galdera. Ezartzeko osatu azpiko bakoitiak dira, kasuan duten funtzioaren egia bada itzultzen n bakoitia eta faltsu n bikoitia bada. Honen bidez, helburu handi bat da Mod eragilea da. Beraz, gure argudio n hartuko dugu, n mod 2 berdin 1, ondo badago horrek esan nahi du n banatuta 2 eta gainerakoa izan gaurko hau. Bada n 2 arabera banatzen hondarra izan zuen, eta, esan nahi du, n bakoitia da, beraz, egia itzuliko gara. Bestela faltsua itzuliko gara. Ere egin ahal izango duzu n mod 2 berdinen zero, itzultzeko faltsua, bestela egia itzuliko. Demagun funtzioa errekurtsiboa azpian. Beraz, bada n baino txikiagoa edo 1 balioa, itzuli 1, Bueltan n aldiz beste n ken 1 f. Beraz, zer funtzio hau? Beno, hau da, besterik gabe, funtzioa faktore. Hau nicely irudikatzen da n faktore gisa. Beraz, zalantzan 19 orain, nahi dugu Funtzio errekurtsiboak hau hartzeko. Etorriko egiteko nahi dugu. Beraz, zer egin dugu? Beno langileek konponbidea, eta, berriro ere, ez da modu bat baino gehiago egin izan duzu hori, hasteko int produktu honekin dugu berdin 1. Eta honetan zehar begizta, goazen produktu azken finean biderkatzailea izateko azkenean, faktore osoz. Beraz, int i berdin 2, i da txikiago edo n, i ++. Galdetzen beharko zenuke zergatik berdin i 2. Beno, gogoan hemen, izan dugu ziurtatu gure kasuan ez da zuzena. Beraz, n baino txikiagoa edo berdina bada 1, zu besterik ez itzuli dugu 1. Beraz, hemen baino gehiago, hasten baita berdin i 2. Beno i ziren 1, bada orduan edo the-- n ziren 1 eta, ondoren, bada begizta ez litzateke exekutatu guztiak. Eta, beraz, besterik ez genuke Bueltan produktua, hau da, 1. Era berean, n ziren baino ezer gutxiago 1-- 0, balitz negatiboak 1, dena delakoa nahiko nuke oraindik ere itzuli dugu 1, hau da, zehazki zer egin errekurtsiboa bertsioa egiten ari da. Orain, N handiagoa bada 1 baino, orduan goazen gutxienez bat egin begizta honen iterazio. Beraz, demagun N 5 da, eta gero gara Produktu aldiz egin behar dugu berdin 2. Beraz, gaur egun produktu 2a da. Orain egin behar Produktu aldiz berdinen 3. Orain 6 da. Produktuen aldiz berdinen 4, Orain bat, 24. Produktuen aldiz berdin 5, Orain bat, 120. Beraz, azken batean, itzultzen ari gara 120, eta hori behar bezala 5 faktore. 20 galdera. Hau da, non bete behar duzun algoritmoa ematen dituen taula honetan, Nik ez dugu ikusten ezer, hori horiek algoritmikoak run egokitzen Nondik asintotikoak run garai hauetan. Beraz, zer algoritmo bat da, 1 omega, baina big n O da? Beraz, ez infinituki izan daiteke askoren erantzunak hemen. Seguruenik duten ikusi dugu, Bat maiz bilaketa lineala baino ez da. Beraz, kasu horretan, onena Egoera, elementua gara bila at da Zerrendaren hasita eta, beraz, 1 urratsen omega-en, egiaztatu dugu lehen gauza, besterik ez, berehala itzuliko gara elementua aurkitu dugun. Kasu txarrena eszenatoki, elementua amaieran da, edo elementua zerrendan ez dagoen guztietan. Beraz, bilatu behar dugu du zerrenda osoa, n guztia elementuak, eta horregatik da n o da. Beraz, orain, hori bai zerbait n log n omega, eta n log n O big. Beno garrantzitsuenak gauza Hemen ikusten duguna da batu, ordenatu. Beraz, batu, ordenatu, gogoratu, azken finean theta n log n, non theta definitzen da bai omega eta big O bera baldin badira. Biak nn saioa. Zer da hori omega zerbait n, eta, n karratu O? Beno, berriro ere ez da Posible bat baino gehiago erantzun. Hemen burbuila ordenatu esaten gertatuko dugu. Txertatzeko sort hemen ere funtzionatuko luke. Gogoratu burbuila moduko hori optimizazioa non ditu, zara iritsi ahal bada Zerrenda osoa bitartez egin beharrik gabe trukeak edozein, orduan, bai, berehala itzuli ahal izango duten zerrenda zen horrela antolatu hasteko. Kasurik onenean Beraz, besterik n omega da. Ez bada besterik nicely bat sailkatuko da zerrenda hasteko, orduan, n karratu O trukeak ditugu. Eta, azkenik, hautaketa ordena daukagu n karratu, bai omega eta big O. 21 galdera. Zein da zenbaki oso gainezkatze? Beno, berriro ere, lehenago antzekoa, bit finituki askok besterik ez dugu zenbaki oso bat irudikatzeko, beraz, agian, 32 bit. Demagun sinatu osokoa bat behar dugu. Altuena Ondoren, azken finean, Zenbaki positiboak adierazteko aukera izango dugu 31 da 2 ken 1. Beraz, zer gertatzen saiatu izanez dugu ondoren Kontatzailea osokoa dela? Beno, 2tik 31ra joan goaz ken 1, modu guztiak, 2 negatibo behera 31 izateko. Beraz, zenbaki oso gainezkatze hau da denean incrementing mantendu, eta, azken finean, ezin duzu lortzeko edozein handiagoa da, eta besterik modu guztiak atzera biltzen balio negatiboa inguruan. Buffer gainezkatzea bati buruz? Beraz, buffer bat overflow-- gogoratu buffer bat zer den. Zatia memoria bat da. Array bat antzeko zerbait buffer bat da. Beraz, buffer gainezkatzea bat denean memoria sartzen saiatzen zara array horren amaieran haratago. Beraz, bat duzunean 5 tamaina eta zuk sorta saiatu array bracket sartzeko 5 edo 6 edo bracket bracket 7 edo haratago ezer amaieran, edo nahiz eta ezer below-- array bracket negatiboa 1-- horiek guztiak buffer gainezkatzerik dira. Memoria ari zaren ukitzen modu txarrean. 23 galdera. Beraz, hau behar duzu strlen ezartzeko. Eta esango dugu, ahal duzun bere gain hartzen ez du s izan null, beraz, ez duzu behar null inolako kontrol egin. Eta badira modu askotara zuk hau egin izan da. Hemen hartuko dugu besterik zuzenean. Hasteko kontagailu bat egiten dugu, n. n dago zenbat karaktere daude kontatuta. Beraz, hasi ginen 0 eta orduan guk Batetik bestera joateko baino gehiago zerrenda osoa. S tarte 0 berdina da null amaierako pertsonaia? Gogoratu bilatzen ari gara null amaierako pertsonaia gure katea zenbat denbora zehazteko. Hori da amaitutzat joan kate garrantzitsuak edozein. Beraz, s tarte 0 berdina da null amaierako nahi? Ez bada, orduan ari gara joan s tarte 1, s tarte 2 begiratzen. Genuen arte jarraitzea dugu null amaierako aurkitu. Aurkitu dugu behin, eta ondoren n dauka Guztira, katearen luzera du, eta besterik ezin dugu itzultzeko. 24 galdera. Beraz, hau bat da, non merkataritza egiteko off izan. Beraz, gauza bat da bat ere ona horrela, baina, zer modu da txarra? Beraz, hemen, batu, ordenatu joera burbuila sort baino azkarragoa izan. Behin ongi esan Egia, badaude Erantzun bat baino gehiago daude hemen. Baina nagusia burbuila ordenatu dela n omega antolatu zerrenda bat da. Gogoratu taula lehenago ikusi besterik ez dugu. Beraz, burbuila ordenatzen omega n, kasu onena agertokia da gai Joan besterik ez da Zerrendako behin, zehaztu beno gauza hau da jadanik ordenatuta, eta itzulera. Batu, ordenatu, ez zer egin duzu, n log n omega da. Beraz horrela antolatu zerrenda egiteko, burbuila sort da azkarragoa izango da. Orain zertaz zerrendak lotuta? Beraz lotutako zerrenda bat hazten eta txikitu dezake elementu asko bezala egokitzeko, behar bezala. Behin beraz Egia esan normalean zuzeneko konparazioa dago lotuta izango array bat zerrendara. Beraz, nahiz eta matrizeak ezin arren Erraz hazten eta txikitu elementu asko bezala egokitzeko behar bezala, lotuta zerrenda aldean array batekin batera array ausazko sarbidea du. Edozein sartu indizea ahal dugun array elementu bereziki. Beraz lotutako zerrenda bat, ezin dugu besterik bosgarren elementu batera joateko, hasieratik zeharkatuko dugun bosgarren elementu iritsi arte. Eta hori gurekin saihesteko batetik joan bilaketa bitarra antzeko zerbait egiten. Bilaketa bitarra hitz, bilaketa bitarra bilaketa lineala baino azkarragoa izan ohi da. Hori esanda -bere beraz, gauza bat posible da ezin duzula egin bitar bilatu lotutako zerrendak eta, bakarrik egin ahal izango da array. Baina, ziurrenik, are garrantzitsuagoa dena, ezin duzu bilaketa bitarra Hori ez da horrela antolatu array batean. Upfront liteke ordenatzeko behar duzu array, eta soilik ondoren, ahal bilaketa bitarra egin duzu. Beraz, zure gauza ez baldin bada ordenatuko hasteko, ondoren, bilaketa lineala azkarragoa izan daiteke. 27 galdera. Horretarako, programa kontuan azpitik, hau da, hurrengo diapositiba izango da. Eta hau da, non gaude da to esplizituki nahi joan zenbait aldagai balioak. Hargatik begiratu hartan. Beraz, lerro bat. Int x berdinen 1 daukagu. Hori dela gertatu gauza bakarra. Beraz, lerro bat, ikusiko dugu gure mahaia, y que, a, b, eta tmp dira guztiak blacked. Beraz, zer da x? Beno ezarri besterik ez dugu 1 balioa. Eta gero, bi lerro, bai, y hori 2 ez ikusiko dugu, eta mahaia da dagoeneko betetako Gurekin. Beraz, x 1 eta y 2. Orain, hiru lerro, orain gaude swap funtzioa barruan. Zer trukatu pasatzen dugu? Ampersand x gainditu dugu bat, eta ampersand y b da. Non arazoa lehenago adierazi duenez, x helbidea 0x10 da, eta y helbidea 0x14 da. Beraz, A eta B berdinak dira 0x10 eta 0x14, hurrenez hurren. Orain hiru lerroan, zer dira x eta y? Beno, ez da ezer aldatu x eta y puntu honetan buruz. Nahiz Oraindik dute nahiz pila nagusiak marko baten barruan, oraindik ere berdina dute balioak baino lehen egin zuten. Ez dugu memoria aldatu. Beraz, x 1, 2 y da. Guztiak eskubidea. Beraz, orain int berdintasuna protagonista tmp esan genuen. Beraz, lerro lau, dena bera tmp izan ezik. Ez dugu aldatu baliorik ezer tmp ezik. Tmp berdinak izar bat izateko ari gara. Zer da izar bat? Beno, puntu bat x, Beraz, izar bat da x berdina da, hau da 1 to joan. Beraz, dena kopiatu behera, eta tmp 1 ezarrita. Orain hurrengo lerroan. Star izar b berdin. Beraz lerroz five-- ondo berriro, dena bera dena delakoa izar bat da salbu. Zer da izar bat? Beno, esan besterik ez dugu izar bat x da. Beraz, x aldatzen ari gara izar berdinak b. Zer da izar b? y. b y puntu. Beraz, izar b y da. Beraz, x y-berdintasuna ari gara, eta beste guztia berdina da. Beraz, hurrengo lerroan ikusiko dugu x da gaur egun 2, eta gainontzekoak dira kopiatu besterik ez behera. Orain, hurrengo lerroan, star b berdin tmp. Beno, esan besterik ez dugu izar b y da, beraz, y tmp-berdintasuna ari gara. Beste guztia berdina da, beraz, dena kopiatzen lortzen behera. Y berdintasuna ari gara, gordetzean hau da, bat, eta beste guztia berdina da. Orain, azkenik, zazpi line. Funtzio nagusia itzuli gara. Swap amaitu ondoren gaude. A, b galdu egin dugu, eta tmp, baina, azken finean, guk Ez zara baliorik aldatzen Puntu honetan ezer, x eta y behera kopiatu besterik ez dugu. Eta x eta y direla ikusten dugu gaur egun, 2 eta 1 ordez 1 eta 2. Swap arrakastaz exekutatu. 28 galdera. Demagun topo duzula akats mezuak bulego orduetan azpitik hurrengo urtean CA edo TF gisa. Akats horien bakoitza nola konpondu aholkatzeko. Beraz GetString undefined erreferentzia. Zergatik izan liteke hori ikusten duzu? Beno, ikasle bat erabiltzen ari bada Bere kodea da GetString, dute behar bezala hash sartua cs50 dot h cs50 liburutegia, besteak beste. Beno, zer egiten dute errore hau konpondu behar? Etenaren aldean dituen lcs50 bat egin behar dute, komando lerroko konpilatzean ari dira. Beraz, ez dute pasatzen clang etenaren dituen lcs50, ari dira Ez da benetako izan joan GetString inplementatzen kodea. 29 galdera. Inplizituki deklaratzen liburutegi funtzioa strlen. Beno, hau, gaur egun, ez dute besteak beste, egoki hash egin. Kasu honetan, goiburu-fitxategia kate dot h da, besteak beste behar dute, eta barne kate dot h, orain student-- orain konpilatzailea sarbidea du strlen deklarazioak, eta badaki zure kodea duten da strlen egokian erabiliz. 30 galdera. Ehuneko bihurketa gehiago Datu argudioak baino. Beraz, zer da hau? Ondo gogoan ehuneko horiek signs-- nola garrantzitsua printf ari dira. Beraz printf agian percent-- dugu zerbait inprimatu dugu berea bezalako i backslash n. Edo agian ehuneko i like inprimatu dugu, espazioa, ehuneko i, espazioa, ehuneko i. Beraz, horietako bakoitzerako ehuneko seinaleak, behar dugu aldagai bat pasatzeko printf amaieran. Beraz, esan badugu printf paren ehuneko i backslash n itxi paren, bai, ari gara esaten dugu zenbaki oso bat inprimatzeko, baina gero ez dugu gainditu printf zenbaki oso bat benetan inprimatu. Hortaz, hona hemen ehuneko gehiago Datu argumentuak baino bihurketa? Hori dugula esaten portzentaiak sorta oso bat, eta ez dugu aldagai nahikoa portzentaiak horietan benetan bete. Eta, ondoren, behin betiko, galdera 31, 40 byte behin betiko galdu bloke batean. Beraz, hau Valgrind error da. Hori dela esanez Zure kodea, nonbait, 40 da esleipen bat behar duzu byte handiak beraz, 40 byte malloced duzu, eta inoiz ez da libratuko da. Seguruenik, besterik ez duzu Memoria leak batzuk aurkitu, eta jakin non behar duzun memoria bloke hau libre. Eta 32 zalantzan, tamaina 4 idazteko baliogabea. Again hau Valgrind error da. Honek ez du egin memoria filtrazioak orain. Hau da, gehien likely-- esan nahi dut, hori da memoria eskubide baliogabea nolabaiteko. Eta ziurrenik hori da zenbait buffer gainezkatzea moduko. Non array bat duzu, agian zenbaki oso array bat, eta dezagun esatea tamaina 5, eta zuek saiatu array bracket 5 ukitzeko. Beraz hori idatzi saiatu baduzu balioa, hori ez da memoria zati bat benetan behar duzu sartzeko, eta beraz, errore hau lortzeko ari zaren, tamaina 4 idazteko baliogabea esaten. Valgrind da Oraindik ezagutzen joan memoria inappropriately ukitu nahian. Eta hori da quiz0 da. Nago Rob Bowden da, eta hau da CS50.