1 00:00:00,000 --> 00:00:00,610 2 00:00:00,610 --> 00:00:02,960 >> DAVID J. MALAN: Så jag är fortfarande ganska underwhelmed av det här programmet. 3 00:00:02,960 --> 00:00:06,980 Allt jag har gjort är att gå från att säga hallå världen till hello David. 4 00:00:06,980 --> 00:00:08,940 Men det finns fortfarande ingen dynamik i detta program. 5 00:00:08,940 --> 00:00:10,530 Det finns ingen användarens input. 6 00:00:10,530 --> 00:00:12,520 Det är bara svårt kodad utgång. 7 00:00:12,520 --> 00:00:13,760 >> Tja, vi kan göra bättre än så här. 8 00:00:13,760 --> 00:00:16,750 Låt oss gå tillbaka till insidan av min huvudsakliga funktion. 9 00:00:16,750 --> 00:00:22,740 Och den här gången, snarare än hård kod David som mitt namn, låt mig ersätta denna 10 00:00:22,740 --> 00:00:25,470 linje med det första, en instruktion till användaren. 11 00:00:25,470 --> 00:00:29,090 Printf uppge ditt namn. 12 00:00:29,090 --> 00:00:32,790 Så vi har nu informerat användaren vad vi förväntar sig av honom eller henne, att uppge 13 00:00:32,790 --> 00:00:35,840 namn, men nu måste vi faktiskt få användarens namn. 14 00:00:35,840 --> 00:00:40,020 >> Tja, som tidigare, kan jag lagra användarens namn, i slutändan, i en variabel 15 00:00:40,020 --> 00:00:40,920 av typen sträng. 16 00:00:40,920 --> 00:00:43,420 Och jag ska ringa det, som tidigare, namn. 17 00:00:43,420 --> 00:00:47,850 Men jag behöver nu för att tilldela, som med tilldelningsoperator, något värde till 18 00:00:47,850 --> 00:00:48,760 denna variabel. 19 00:00:48,760 --> 00:00:51,990 Men den här gången, vill jag inte att hårdkoda Det gillar jag gjorde innan med citat, 20 00:00:51,990 --> 00:00:53,150 unquote David. 21 00:00:53,150 --> 00:00:57,260 Snarare vill jag att dynamiskt få användare input från tangentbordet och 22 00:00:57,260 --> 00:01:00,670 sedan lagra det värdet inuti denna variabel som heter namn. 23 00:01:00,670 --> 00:01:04,530 >> Jo, för att göra detta, kan jag åberopa en funktion, en funktion som händer med 24 00:01:04,530 --> 00:01:06,640 kallas get sträng. 25 00:01:06,640 --> 00:01:12,020 Men denna funktion, ungefär som sträng, själv, faktiskt inte kommit med C. 26 00:01:12,020 --> 00:01:17,380 Snarare har det CS50 personalen förklarade, i en fil som heter CS50.h, en funktion 27 00:01:17,380 --> 00:01:21,150 kallas Få String vars syfte i livet är att göra det möjligt för användaren att skriva sin 28 00:01:21,150 --> 00:01:24,850 eller hennes namn på tangentbordet, och sedan denna funktion, får sträng, returer 29 00:01:24,850 --> 00:01:28,540 detta värde, så att säga, från höger sidan av denna uttryckning 30 00:01:28,540 --> 00:01:31,020 in i den vänstra sidan av detta uttryck. 31 00:01:31,020 --> 00:01:34,340 >> Låt oss spara filen och kompilera programmet. 32 00:01:34,340 --> 00:01:37,510 Gör hej-2, Enter. 33 00:01:37,510 --> 00:01:38,950 Vi är tillbaka på vårt blinkande prompt. 34 00:01:38,950 --> 00:01:42,340 Nu ska jag gå vidare och köra ./hello-2. 35 00:01:42,340 --> 00:01:46,500 Jag är faktiskt ombedd att uppge mitt namn, och jag ska göra just det, D-A-V-I-D. 36 00:01:46,500 --> 00:01:50,230 Enter, och där vi har ett program att, återigen, skriver hej David. 37 00:01:50,230 --> 00:01:54,250 >> Men den här gången jag hävdar att David är dynamiskt ut till skärmen, 38 00:01:54,250 --> 00:01:56,430 baserat på vad jag själv just skrev. 39 00:01:56,430 --> 00:02:01,000 Så låt oss undersöka detta antagande och repris detta program med hello-2. 40 00:02:01,000 --> 00:02:04,030 Låt oss säga mitt namn, detta tid, eftersom Alice. 41 00:02:04,030 --> 00:02:07,590 Och faktiskt, jag hälsade med hej Alice eller någon annan 42 00:02:07,590 --> 00:02:08,840 namn, för den delen. 43 00:02:08,840 --> 00:02:09,760