1 00:00:00,000 --> 00:00:00,610 2 00:00:00,610 --> 00:00:02,960 >> DAVID J. MALAN: Så jeg er fortsatt ganske ikke imponert av dette programmet. 3 00:00:02,960 --> 00:00:06,980 Alt jeg har gjort er å gå fra å si hallo verden til hei David. 4 00:00:06,980 --> 00:00:08,940 Men det er fortsatt ingen dynamikk i dette programmet. 5 00:00:08,940 --> 00:00:10,530 Det er ingen brukerundersøkelser. 6 00:00:10,530 --> 00:00:12,520 Det er bare hard kodet utgang. 7 00:00:12,520 --> 00:00:13,760 >> Vel, vi kan gjøre det bedre enn dette. 8 00:00:13,760 --> 00:00:16,750 La oss gå tilbake til innsiden av mine viktigste funksjon. 9 00:00:16,750 --> 00:00:22,740 Og denne gangen, i stedet for hardt kode David som navnet mitt, la meg erstatte dette 10 00:00:22,740 --> 00:00:25,470 tråd med, først, en instruksjon til brukeren. 11 00:00:25,470 --> 00:00:29,090 Printf oppgi navn. 12 00:00:29,090 --> 00:00:32,790 Så vi har nå informert brukeren hva vi forventer av ham eller henne, til å si sin 13 00:00:32,790 --> 00:00:35,840 navn, men vi må nå faktisk få brukerens navn. 14 00:00:35,840 --> 00:00:40,020 >> Vel, som før, kan jeg lagre brukerens navn, til slutt, i en variabel 15 00:00:40,020 --> 00:00:40,920 av typen streng. 16 00:00:40,920 --> 00:00:43,420 Og jeg kommer til å ringe det, som før, navn. 17 00:00:43,420 --> 00:00:47,850 Men jeg nå trenger å tildele, som med oppdrag operatør, noen verdi for 18 00:00:47,850 --> 00:00:48,760 den variabelen. 19 00:00:48,760 --> 00:00:51,990 Men denne gangen, jeg ønsker ikke å vanskelig kode det liker jeg gjorde før med sitat, 20 00:00:51,990 --> 00:00:53,150 sitat slutt David. 21 00:00:53,150 --> 00:00:57,260 Snarere ønsker jeg å dynamisk få Brukere innspill fra sine tastatur og 22 00:00:57,260 --> 00:01:00,670 deretter lagre den verdien innsiden av denne variabelen kalt navn. 23 00:01:00,670 --> 00:01:04,530 >> Vel, for å gjøre dette, kan jeg påberope en funksjon, en funksjon som skjer med 24 00:01:04,530 --> 00:01:06,640 bli kalt get streng. 25 00:01:06,640 --> 00:01:12,020 Men denne funksjonen, mye som streng, seg selv, faktisk ikke kommer med C. 26 00:01:12,020 --> 00:01:17,380 Snarere har CS50 ansatte erklært, i en fil som heter CS50.h, en funksjon 27 00:01:17,380 --> 00:01:21,150 heter Get String hvis formål i livet er å tillate brukeren å skrive sin 28 00:01:21,150 --> 00:01:24,850 eller hennes navn på tastaturet, og deretter denne funksjonen, får streng, returnerer 29 00:01:24,850 --> 00:01:28,540 denne verdien, så å si, fra høyre side av denne ekspresjon 30 00:01:28,540 --> 00:01:31,020 inn i den venstre side av dette uttrykket. 31 00:01:31,020 --> 00:01:34,340 >> La oss lagre filen og kompilere dette programmet. 32 00:01:34,340 --> 00:01:37,510 Gjør hello-2, Enter. 33 00:01:37,510 --> 00:01:38,950 Vi er tilbake på vår blinkende teksten. 34 00:01:38,950 --> 00:01:42,340 Nå kommer jeg til å gå videre og kjøre ./hello-2. 35 00:01:42,340 --> 00:01:46,500 Jeg er faktisk bedt om å oppgi mitt navn, og jeg skal gjøre nettopp det, D-A-V-I-D. 36 00:01:46,500 --> 00:01:50,230 Enter, og det har vi et program som, igjen, skriver hallo David. 37 00:01:50,230 --> 00:01:54,250 >> Men denne gangen jeg hevder at David er dynamisk outputted til skjermen, 38 00:01:54,250 --> 00:01:56,430 basert på hva jeg selv nettopp har skrevet. 39 00:01:56,430 --> 00:02:01,000 Så la oss teste denne hypotesen og re-run dette programmet med hello-2. 40 00:02:01,000 --> 00:02:04,030 La oss oppgi mitt navn, dette tid, som Alice. 41 00:02:04,030 --> 00:02:07,590 Og ja, jeg er møtt med hei Alice eller noen annen 42 00:02:07,590 --> 00:02:08,840 navn, for den saks skyld. 43 00:02:08,840 --> 00:02:09,760