1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> SPEAKER 1: Tehát úgy érzem, én inkább levelet printf hello world vagy printf 3 00:00:04,010 --> 00:00:08,160 helló százalék s igen gyakran összefüggésben ahol szeretnék, hogy nyomtassa ki a 4 00:00:08,160 --> 00:00:11,360 húr, néha kéri a a felhasználó egy részét, hogy a húr. 5 00:00:11,360 --> 00:00:14,980 Nos, nem lenne jó, ha létre függvényében saját úgynevezett 6 00:00:14,980 --> 00:00:19,900 azt mondják, print nevet, melynek célja az életben egyszerűen kinyomtatni helló vessző 7 00:00:19,900 --> 00:00:24,560 ez és, hogy elfogadja az így-meg- érvként, hogy ezt a funkciót? 8 00:00:24,560 --> 00:00:29,220 Kijelenthetjük függvényében saját mint tudjuk a Scratch alábbiak szerint. 9 00:00:29,220 --> 00:00:35,280 >> Más szavakkal, tegyük fel, szeretnék printf a nevét és majd felkéri a felhasználót 10 00:00:35,280 --> 00:00:39,470 az ő nevét szöveg s egyenlő getString. 11 00:00:39,470 --> 00:00:42,060 És akkor azt akarom, hogy hívja a függvényt az úgynevezett print név 12 00:00:42,060 --> 00:00:44,340 leadott s mint a bemeneti. 13 00:00:44,340 --> 00:00:47,770 >> Most sajnos nincs funkciója az úgynevezett print név C vagy 14 00:00:47,770 --> 00:00:48,950 A CS50 könyvtár. 15 00:00:48,950 --> 00:00:51,220 De nem számít, mert lehet, hogy mi magunk. 16 00:00:51,220 --> 00:00:54,560 Deklarálásához függvényében saját és akkor hajtják végre, akkor egyszerűen, hogy 17 00:00:54,560 --> 00:00:59,000 Néhány szoba ebben a fájlban, és kijelentik, ezt a funkciót az alábbiak szerint, érvénytelen - 18 00:00:59,000 --> 00:01:01,900 jelezve, hogy a funkció nem valóban megy vissza valamit, 19 00:01:01,900 --> 00:01:03,890 annak ellenére, hogy lesz egy mellékhatás - 20 00:01:03,890 --> 00:01:08,030 nyomtatni nevet, majd menjünk megadott zárójelben, hogy a nyomtatószerver név arra számít, 21 00:01:08,030 --> 00:01:09,680 argumentum karakterlánc típusú. 22 00:01:09,680 --> 00:01:12,180 És általában, azt fogják hinni, Az, hogy a nevet. 23 00:01:12,180 --> 00:01:15,140 >> És ne nyissuk ki a merevítő és zárja be a zárójel. 24 00:01:15,140 --> 00:01:21,930 És akkor printf belül helló vessző százalék s új sor vessző nevet. 25 00:01:21,930 --> 00:01:24,570 Más szóval, bár ez a függvény csak egy sor kódot, 26 00:01:24,570 --> 00:01:27,290 nem most van néhány nagyobb szintű cél, hogy a nyomtatási 27 00:01:27,290 --> 00:01:28,950 valakinek a nevét egy üdvözletet. 28 00:01:28,950 --> 00:01:33,115 >> Most belső fő, észre, hogy én vagyok hívja print megnevezés szerint halad egy s. 29 00:01:33,115 --> 00:01:35,830 És úgy tűnik, most már egy teljes programot. 30 00:01:35,830 --> 00:01:38,650 Az egyetlen különbség az, hogy a másoktól azt írtam, hogy nem csak nem 31 00:01:38,650 --> 00:01:42,480 e program fő, ez is egy nyilatkozat és végrehajtása 32 00:01:42,480 --> 00:01:44,740 print nevét, a funkció a saját. 33 00:01:44,740 --> 00:01:49,505 >> Nézzük most össze a programot make funkció nulla, és futtassa azt a dot 34 00:01:49,505 --> 00:01:51,080 slash funkció nulla. 35 00:01:51,080 --> 00:01:53,390 Amikor a rendszer kéri a nevem Majd írja be David. 36 00:01:53,390 --> 00:01:55,830 És valóban én köszöntötte A "Hello, David." 37 00:01:55,830 --> 00:02:00,160 >> Nos, kiderült, hogy én nagyon tudatosan kijelentette, print nevet a fenti fő, 38 00:02:00,160 --> 00:02:03,860 így mondja C előre, hogy létezik egy függvény neve print 39 00:02:03,860 --> 00:02:06,930 nevet, hogy tudtam használni később a fő. 40 00:02:06,930 --> 00:02:11,610 Most már én inkább fel print nevét Az alján a fájl, mert őszintén szólva én 41 00:02:11,610 --> 00:02:15,310 Valószínűleg meg kell tennie azért, hogy fő marad Az első dolog, hogy én, vagy 42 00:02:15,310 --> 00:02:18,450 egy másik felhasználó lát a kódot, kiderül, hogy a kód 43 00:02:18,450 --> 00:02:19,780 nem fog össze. 44 00:02:19,780 --> 00:02:23,610 >> Konkrétan, ha megyek vissza a terminál ablak és fuss, hogy a funkció 45 00:02:23,610 --> 00:02:26,120 nulla, észre, hogy én kiabáltam. 46 00:02:26,120 --> 00:02:30,340 Ha lépjünk fel a terminál ablakban Találkozunk az első hibát, piros, 47 00:02:30,340 --> 00:02:33,120 implicit nyilatkozat funkció print nevét. 48 00:02:33,120 --> 00:02:34,220 >> Nos, mit jelent ez? 49 00:02:34,220 --> 00:02:37,190 Nos, bár én már végre nyomtassa név ebben a fájlban, én már nem 50 00:02:37,190 --> 00:02:40,080 megelőzően hajtotta azt végre én már használta fő. 51 00:02:40,080 --> 00:02:43,160 Most mehet vissza a régi verzió és tedd a nyomtatási neve 52 00:02:43,160 --> 00:02:44,450 végrehajtás fel tetején. 53 00:02:44,450 --> 00:02:48,730 >> De ehelyett csak adni C egy tippet hogy van egy funkció, hogy jöjjön. 54 00:02:48,730 --> 00:02:55,390 Pontosabban, a fenti fő állíthatom Nyomtatás Név ahogy én tettem korábban, de a 55 00:02:55,390 --> 00:02:59,450 végén a vonal egy pontosvessző, így megígérte, hogy végre, de még nem 56 00:02:59,450 --> 00:03:02,180 valójában végrehajtó funkció vagyis a nyomtató nevét. 57 00:03:02,180 --> 00:03:05,860 Tudok majd fő tetején én fájl, mint reméltem, és én valóban 58 00:03:05,860 --> 00:03:07,440 végre print nevet az alján. 59 00:03:07,440 --> 00:03:12,860 >> Ha most vissza a terminál ablak és újrafordítani funkció nulla make, 60 00:03:12,860 --> 00:03:14,390 ez most állítja össze. 61 00:03:14,390 --> 00:03:18,240 És ha elindul a dot slash funkcióval nulla amely a nevemet, én vagyok 62 00:03:18,240 --> 00:03:20,650 köszöntötte a "Helló, David." 63 00:03:20,650 --> 00:03:22,268