1 00:00:00,000 --> 00:00:00,366 2 00:00:00,366 --> 00:00:01,830 >> SPEAKER: Vi kaller det en streng. 3 00:00:01,830 --> 00:00:03,510 Det er bare en sekvens av tegn. 4 00:00:03,510 --> 00:00:05,790 Faktisk, det er rett og slett en rekke tegn. 5 00:00:05,790 --> 00:00:09,730 Og så selv om vi får en streng fra brukeren på vanlig måte med CS50 er 6 00:00:09,730 --> 00:00:13,550 GetString, kan vi da fortsette å iterere over tegn i strengen 7 00:00:13,550 --> 00:00:17,110 en av gangen som om at strengen er faktisk en matrise. 8 00:00:17,110 --> 00:00:18,660 La oss prøve dette i kode. 9 00:00:18,660 --> 00:00:21,470 >> Inkluder cs50.h. 10 00:00:21,470 --> 00:00:24,440 Inkluder stdio.h. 11 00:00:24,440 --> 00:00:27,960 Og la oss også inkluderer string.h slik at vi har tilgang 12 00:00:27,960 --> 00:00:29,500 til StringLen funksjon. 13 00:00:29,500 --> 00:00:33,220 La oss nå erklære hoved som int main ugyldig. 14 00:00:33,220 --> 00:00:36,740 Og la oss nå gå videre for å få en streng fra brukeren. 15 00:00:36,740 --> 00:00:39,480 Printf innspill. 16 00:00:39,480 --> 00:00:45,180 La oss nå erklære en streng kaller det s, og kaller vår venn GetString. 17 00:00:45,180 --> 00:00:49,570 >> La oss nå gå videre for å sjekke, gjorde brukeren faktisk gi meg en streng fordi 18 00:00:49,570 --> 00:00:53,370 det viser seg per GetString egen dokumentasjon, GetString kunne på 19 00:00:53,370 --> 00:00:56,830 anledning avkastning NULL, en spesiell sentinel verdi som i hovedsak 20 00:00:56,830 --> 00:00:59,630 angir at brukeren ikke samarbeide og liksom gjorde 21 00:00:59,630 --> 00:01:01,150 ikke gir en streng. 22 00:01:01,150 --> 00:01:03,190 Så la oss se etter at med en tilstand. 23 00:01:03,190 --> 00:01:09,300 >> IF s ikke lik NULL, så vi kan anta at s er faktisk en streng, en 24 00:01:09,300 --> 00:01:14,580 rekke tegn, og fortsett til iterere over disse tegnene. 25 00:01:14,580 --> 00:01:22,240 FOR int i blir 0, la oss også erklære n så lik strengen lengden på s så 26 00:01:22,240 --> 00:01:27,900 lenge i er mindre enn n, og på hvert iterasjon, la oss øke jeg. 27 00:01:27,900 --> 00:01:35,200 Innenfor denne sløyfe da, la oss kalle printf av% c backslash n og deretter koble 28 00:01:35,200 --> 00:01:41,140 inn denne verdien s brakett jeg derved skriver ett tegn om gangen hver 29 00:01:41,140 --> 00:01:42,420 av bilene i s. 30 00:01:42,420 --> 00:01:45,210 >> La oss nå samle og kjøre dette programmet. 31 00:01:45,210 --> 00:01:47,140 Gjør streng. 32 00:01:47,140 --> 00:01:52,500 . / String Mitt innspill vil være "hei." 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