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