1 00:00:00,000 --> 00:00:00,366 2 00:00:00,366 --> 00:00:01,830 >> SPEAKER: Vi kalder det en streng. 3 00:00:01,830 --> 00:00:03,510 Det er bare en sekvens af tegn. 4 00:00:03,510 --> 00:00:05,790 Faktisk er det simpelthen en vifte af tegn. 5 00:00:05,790 --> 00:00:09,730 Og så selv hvis vi får en snor fra den brugeren på sædvanlig måde med CS50 er 6 00:00:09,730 --> 00:00:13,550 GetString, kan vi gå videre til gentage over de tegn i denne streng 7 00:00:13,550 --> 00:00:17,110 en ad gangen, som om at streng er faktisk et array. 8 00:00:17,110 --> 00:00:18,660 Lad os prøve det i kode. 9 00:00:18,660 --> 00:00:21,470 >> Medtag cs50.h. 10 00:00:21,470 --> 00:00:24,440 Medtag stdio.h. 11 00:00:24,440 --> 00:00:27,960 Og lad os også string.h så vi har adgang 12 00:00:27,960 --> 00:00:29,500 til StringLen funktion. 13 00:00:29,500 --> 00:00:33,220 Lad os nu erklære main som int main tomrum. 14 00:00:33,220 --> 00:00:36,740 Og lad os nu gå til at få en snor fra brugeren. 15 00:00:36,740 --> 00:00:39,480 Printf input. 16 00:00:39,480 --> 00:00:45,180 Lad os nu erklære en streng at kalde det s, og ringe til vores ven getString. 17 00:00:45,180 --> 00:00:49,570 >> Lad os nu gå videre til at kontrollere, gjorde brugeren faktisk giver mig en streng, fordi 18 00:00:49,570 --> 00:00:53,370 det viser sig pr getString egen dokumentation, getString kunne på 19 00:00:53,370 --> 00:00:56,830 lejlighed tilbagevenden NULL, en særlig sentinel værdi, der hovedsagelig 20 00:00:56,830 --> 00:00:59,630 angiver, at brugeren ikke samarbejde og på en måde gjorde 21 00:00:59,630 --> 00:01:01,150 ikke en streng. 22 00:01:01,150 --> 00:01:03,190 Så lad os se om det med en betingelse. 23 00:01:03,190 --> 00:01:09,300 >> HVIS s ikke lig NULL, så vi kan antage, at s er faktisk en streng, en 24 00:01:09,300 --> 00:01:14,580 vifte af tegn, og fortsæt til gentage over disse tegn. 25 00:01:14,580 --> 00:01:22,240 FOR int i får 0, lad os også erklære n som svarer til strengen længde s så 26 00:01:22,240 --> 00:01:27,900 længe jeg er mindre end n, og på hver iteration, lad os tilvækst jeg. 27 00:01:27,900 --> 00:01:35,200 Inden for denne løkke SÅ, lad os kalde printf af% c backslash n og sæt derefter 28 00:01:35,200 --> 00:01:41,140 i denne værdi s beslag jeg derved udskrive et tegn ad gangen hver 29 00:01:41,140 --> 00:01:42,420 af de biler i sek. 30 00:01:42,420 --> 00:01:45,210 >> Lad os nu kompilere og køre dette program. 31 00:01:45,210 --> 00:01:47,140 Foretag streng. 32 00:01:47,140 --> 00:01:52,500 . / String Mit input vil være "hej." Og der har vi det. 33 00:01:52,500 --> 00:01:55,410 H-E-L-L-O, hver char på sin egen linje. 34 00:01:55,410 --> 00:01:56,727