1 00:00:00,000 --> 00:00:00,366 2 00:00:00,366 --> 00:00:01,830 >> 演讲嘉宾:我们会打电话给它一个字符串。 3 00:00:01,830 --> 00:00:03,510 它的字符只是一个序列。 4 00:00:03,510 --> 00:00:05,790 事实上,它只是一个 字符数组。 5 00:00:05,790 --> 00:00:09,730 所以即使我们得到一个字符串从 用户在与CS50的通常的方式 6 00:00:09,730 --> 00:00:13,550 GetString引发该异常,我们就可以着手 遍历字符在该字符串 7 00:00:13,550 --> 00:00:17,110 一次一个,就好像该 字符串确实是一个数组。 8 00:00:17,110 --> 00:00:18,660 让我们来试试这个代码。 9 00:00:18,660 --> 00:00:21,470 >> 包括cs50.h. 10 00:00:21,470 --> 00:00:24,440 包括stdio.h中。 11 00:00:24,440 --> 00:00:27,960 而且,我们还包括了string.h 让我们有机会 12 00:00:27,960 --> 00:00:29,500 到StringLen功能。 13 00:00:29,500 --> 00:00:33,220 现在让我们来宣告主 如int主要作废。 14 00:00:33,220 --> 00:00:36,740 而且,我们现在进行得 一个字符串从用户。 15 00:00:36,740 --> 00:00:39,480 printf的输入。 16 00:00:39,480 --> 00:00:45,180 现在让我们来声明一个字符串调用它 秒,并调用我们的朋友的GetString。 17 00:00:45,180 --> 00:00:49,570 >> 现在,让我们继续检查,做用户 确实给我一个字符串,因为 18 00:00:49,570 --> 00:00:53,370 事实证明,每GetString的自己 文档的GetString就可以 19 00:00:53,370 --> 00:00:56,830 有时返回NULL,一个特殊的哨兵 值,基本上 20 00:00:56,830 --> 00:00:59,630 指示用户没有 合作,并以某种方式做 21 00:00:59,630 --> 00:01:01,150 不能提供一个字符串。 22 00:01:01,150 --> 00:01:03,190 因此,让我们检查该 同的条件。 23 00:01:03,190 --> 00:01:09,300 >> 如果s不等于NULL,那么我们就可以 设S确实是一个字符串, 24 00:01:09,300 --> 00:01:14,580 字符数组,然后继续 遍历这些字符。 25 00:01:14,580 --> 00:01:22,240 对于int我得到0,让我们也宣布Ñ 作为等于s字符串的长度,以便 26 00:01:22,240 --> 00:01:27,900 只要i小于n,并且在每个 迭代,让我们增加我。 27 00:01:27,900 --> 00:01:35,200 在这个循环的话,让我们调用printf %C反斜杠n个再插上 28 00:01:35,200 --> 00:01:41,140 这个值s支架I从而 打印一个字符在每一个时间 29 00:01:41,140 --> 00:01:42,420 在S中的汽车。 30 00:01:42,420 --> 00:01:45,210 >> 现在让我们来编译和 运行此程序。 31 00:01:45,210 --> 00:01:47,140 使字符串。 32 00:01:47,140 --> 00:01:52,500 。/串我的投入将是“你好。” 而且,我们有它。 33 00:01:52,500 --> 00:01:55,410 H-E-L-L-O,在自己的行的每个字符。 34 00:01:55,410 --> 00:01:56,727