1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J.马兰:让我们拿东西 更进一步,现在。 3 00:00:02,460 --> 00:00:05,450 假设我不只是想 打印我所有的程序的 4 00:00:05,450 --> 00:00:06,630 命令行参数。 5 00:00:06,630 --> 00:00:10,490 但是我,相反,要打印所有的 在每个单独的字符 6 00:00:10,490 --> 00:00:14,060 我的命令行参数,一个每 行,以便在运行此 7 00:00:14,060 --> 00:00:17,490 程序中,我只看到流 在屏幕上的字符, 8 00:00:17,490 --> 00:00:20,700 集体是从我的序列 命令行参数。 9 00:00:20,700 --> 00:00:21,980 >> 那么,我该怎么办呢? 10 00:00:21,980 --> 00:00:26,540 我可以保持我的完整循环的前 据此,我从我的迭代,直到 11 00:00:26,540 --> 00:00:30,060 ARGC为了整合在 命令行参数本身。 12 00:00:30,060 --> 00:00:34,460 但现在,每一个迭代中 环,我现在需要遍历每个 13 00:00:34,460 --> 00:00:38,550 的字符或字符的 在一个特定的字符串。 14 00:00:38,550 --> 00:00:40,620 因此,要做到这一点,我需要多一个循环。 15 00:00:40,620 --> 00:00:42,090 >> 让我们来添加。 16 00:00:42,090 --> 00:00:46,890 对于int,姑且称之为Ĵ,等于0。 17 00:00:46,890 --> 00:00:49,980 现在,我将需要整合 直到的长度 18 00:00:49,980 --> 00:00:52,310 当前字符串argv中。 19 00:00:52,310 --> 00:00:55,910 所以让我给自己的另一个地方 变量,我们将Ñ调用它,并设置 20 00:00:55,910 --> 00:01:00,120 即等于该字符串的长度 目前的说法,这将是 21 00:01:00,120 --> 00:01:04,230 在ARGV支架找到我分号。 22 00:01:04,230 --> 00:01:08,500 >> 现在让我给J了迭代 直到N跟一个 23 00:01:08,500 --> 00:01:10,400 增量在每个迭代。 24 00:01:10,400 --> 00:01:13,850 现在,让我们打印的个人 字符在屏幕上。 25 00:01:13,850 --> 00:01:21,920 printf的%C后跟一个新的这段时间 线,接近报价,逗号,现在我 26 00:01:21,920 --> 00:01:25,565 需要的第j个字符 在第i个说法。 27 00:01:25,565 --> 00:01:30,240 >> 因此,为了得到那个,我可以简单地 指定ARV支架i到 28 00:01:30,240 --> 00:01:32,050 得到第i个说法。 29 00:01:32,050 --> 00:01:36,140 然后我可以在一个水平潜得更深 做一个辅助索引 30 00:01:36,140 --> 00:01:40,420 支架Ĵ,右括号, 分号,保存。 31 00:01:40,420 --> 00:01:43,610 而且,我们现在编译和 运行此程序。 32 00:01:43,610 --> 00:01:46,630 >> 让ARGV2 - 33 00:01:46,630 --> 00:01:48,440 不完全是我所期待的。 34 00:01:48,440 --> 00:01:50,740 让我们向上滚动到第一 这些错误信息。 35 00:01:50,740 --> 00:01:54,540 而在这里的红色,我们看到的错误, 隐式声明的库函数 36 00:01:54,540 --> 00:01:56,290 strlen的带型 - 37 00:01:56,290 --> 00:01:57,380 哦,等一下。 38 00:01:57,380 --> 00:02:00,340 这是我第一次用 strlen的,我没有预料到 39 00:02:00,340 --> 00:02:04,970 希望它在第一,所以我并没有包括 该声明的头文件 40 00:02:04,970 --> 00:02:06,290 一个字符串长度的功能。 41 00:02:06,290 --> 00:02:09,419 >> 所以在我的文件的顶部, 记得,我有CS50.h. 42 00:02:09,419 --> 00:02:11,080 我有标准io.h. 43 00:02:11,080 --> 00:02:14,500 但事实证明,我知道这从 阅读文档,我需要 44 00:02:14,500 --> 00:02:18,320 第三头文件,假如我真的, 要使用strlen函数。 45 00:02:18,320 --> 00:02:22,760 该函数在string.h中声明。 46 00:02:22,760 --> 00:02:25,230 >> 让我们重新保存文件, 编译和运行。 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 而这个时候,我们做的不只是 看到每个参数。 49 00:02:35,570 --> 00:02:40,470 我们反而看到每个参数 一个字符的时间。 50 00:02:40,470 --> 00:02:43,165