1 00:00:00,000 --> 00:00:00,610 2 00:00:00,610 --> 00:00:02,960 >> David J. Malan So ek is nog redelik underwhelmed deur hierdie program. 3 00:00:02,960 --> 00:00:06,980 Al wat ek gedoen het is om te gaan om te sê Hello World hallo Dawid. 4 00:00:06,980 --> 00:00:08,940 Maar daar is nog geen dinamika in hierdie program. 5 00:00:08,940 --> 00:00:10,530 Daar is geen toevoer van die gebruiker. 6 00:00:10,530 --> 00:00:12,520 Daar is net hard gekodeer uitset. 7 00:00:12,520 --> 00:00:13,760 >> Wel, ons kan beter as dit doen. 8 00:00:13,760 --> 00:00:16,750 Kom ons gaan terug na die binnekant van my hoof funksie. 9 00:00:16,750 --> 00:00:22,740 En hierdie keer, eerder as harde-kode David as my naam, laat my die plek van hierdie 10 00:00:22,740 --> 00:00:25,470 lyn met die eerste, 'n opdrag aan die gebruiker. 11 00:00:25,470 --> 00:00:29,090 Printf jou naam. 12 00:00:29,090 --> 00:00:32,790 Dus het ons nou die hoogte van die gebruiker wat ons verwag van hom of haar te stel, hul 13 00:00:32,790 --> 00:00:35,840 noem nie, maar ons moet nou eintlik kry die gebruiker se naam. 14 00:00:35,840 --> 00:00:40,020 >> Wel, soos voorheen, kan ek die stoor van die gebruiker se noem, uiteindelik, in 'n veranderlike 15 00:00:40,020 --> 00:00:40,920 string-tipe. 16 00:00:40,920 --> 00:00:43,420 En ek gaan om te bel dit, soos voorheen, se naam. 17 00:00:43,420 --> 00:00:47,850 Maar ek moet nou wys, soos met die opdrag operateur, 'n waarde te 18 00:00:47,850 --> 00:00:48,760 daardie veranderlike. 19 00:00:48,760 --> 00:00:51,990 Maar hierdie keer, ek wil nie hard-kode dit soos ek gedoen het voordat met quote, 20 00:00:51,990 --> 00:00:53,150 unquote Dawid. 21 00:00:53,150 --> 00:00:57,260 Inteendeel, ek wil dinamies kry gebruikers insette van hul klawerbord en 22 00:00:57,260 --> 00:01:00,670 dan slaan wat waarde binnekant van hierdie veranderlike genoem naam. 23 00:01:00,670 --> 00:01:04,530 >> Wel, om dit te doen, kan ek roep 'n funksie, 'n funksie wat gebeur met 24 00:01:04,530 --> 00:01:06,640 word genoem get string. 25 00:01:06,640 --> 00:01:12,020 Maar hierdie funksie, baie soos tou, self, nie eintlik nie kom met C. 26 00:01:12,020 --> 00:01:17,380 Inteendeel, het die CS50 personeel verklaar, in 'n lêer genaamd CS50.h, 'n funksie 27 00:01:17,380 --> 00:01:21,150 genoem Kry String wie se doel in die lewe is om die gebruiker toelaat om te tik sy 28 00:01:21,150 --> 00:01:24,850 of haar naam op die klawerbord, en dan hierdie funksie, kry string, opgawes 29 00:01:24,850 --> 00:01:28,540 wat waarde, so te sê, van die regterkant kant van hierdie uitdrukking 30 00:01:28,540 --> 00:01:31,020 in die linkerkant van hierdie uitdrukking. 31 00:01:31,020 --> 00:01:34,340 >> Kom ons stoor die lêer en stel hierdie program. 32 00:01:34,340 --> 00:01:37,510 Maak hallo-2, Enter. 33 00:01:37,510 --> 00:01:38,950 Ons is terug by ons flikkerende vinnige. 34 00:01:38,950 --> 00:01:42,340 Nou gaan ek om voort te gaan en hardloop ./hello-2. 35 00:01:42,340 --> 00:01:46,500 Ek is inderdaad gevra om my naam te noem, en ek sal net dat, D-'n-V-ek-D doen. 36 00:01:46,500 --> 00:01:50,230 Gee, en daar het ons 'n program wat weer druk hallo Dawid. 37 00:01:50,230 --> 00:01:54,250 >> Maar hierdie keer het ek beweer dat Dawid dinamiese outputted op die skerm, 38 00:01:54,250 --> 00:01:56,430 gebaseer op wat ek, myself, net getik. 39 00:01:56,430 --> 00:02:01,000 So laat toets dat hipotese en re-run hierdie program met hello-2. 40 00:02:01,000 --> 00:02:04,030 Kom ons noem my naam, het die tyd, soos Alice. 41 00:02:04,030 --> 00:02:07,590 En inderdaad, ek begroet met hallo Alice of enige ander 42 00:02:07,590 --> 00:02:08,840 noem, vir die saak. 43 00:02:08,840 --> 00:02:09,760