Дэвид Дж. Малан: Давайте вещи еще один шаг вперед, теперь. Предположим, что я не просто хочу печатать все мои програмы аргументы командной строки. Но я, наоборот, хотите напечатать все отдельные символы в каждой из мои аргументы командной строки, по одному на линия, так что после запуска этого Программа, Я просто вижу поток символы на экране, что коллективно от моего последовательности аргументов командной строки. Ну, как я могу это сделать? Я могу держать неповрежденным мой цикл от до причем я не итерационные от I вплоть до ARGC для того, чтобы интегрировать по аргументы сами командной строки. Но теперь, в каждой итерации, что петля, мне нужно сейчас перебрать каждый из символов или символов в определенной строки. Таким образом, чтобы сделать это, мне нужно еще один цикл. Добавим, что. для междунар, давайте назовем это J, равна 0. Теперь я собираюсь нужно интегрировать вплоть до длины текущей строкой в ​​ARGV. Итак, позвольте мне дать себе еще один местный переменная, мы будем называть его п, и установить что равно длине строки из ток аргумент, который будет найти в ARGV кронштейна я запятой. Позвольте мне теперь итерации от J до до н не следует приращение на каждой итерации. Давайте теперь распечатать человека символов на экране. Printf% с на этот раз последовал новый линия, недалеко цитата, запятая, и теперь я нужно J-й символ в аргументе г-го. Таким образом, чтобы получить на это, я могу просто указать АРВ кронштейн я к получить аргумент г-ю. И тогда я могу погрузиться в одном уровне глубже и сделать вторичный индекс Кронштейн J, закрывающая скобка, точка с запятой, Сохранить. И давайте теперь скомпилировать и запустить эту программу. Сделать ARGV2 - не совсем то, что я ожидал. Давайте прокрутки до первого из этих сообщений об ошибках. И в красном здесь, мы видим ошибку, неявно объявляя библиотечная функция STRLEN с типом - ой, подождите минуту. Это первый раз, когда я использовал STRLEN, и я не ожидал желая его сначала, так что я не включают файл заголовка, который объявляет строка функция длины. Так в верхней части моего файла, Напомним, у меня есть CS50.h. У меня есть стандартный io.h. Но, оказывается, и я знаю это по читая документацию, что мне нужно третий файл заголовка, если я, в самом деле, хотите использовать функцию STRLEN. Это функция объявлена ​​в string.h. Давайте повторно сохранить файл, компиляция и выполнение. И на этот раз, мы не просто см. каждого из аргументов. Мы вместо этого видеть каждого из аргументов один символ за один раз.