>> DAVID J·マラン：それでは物事を見てみましょう さらに一歩、今。
私はしたくないとします 私のプログラムのすべてを印刷する
コマンドライン引数。
しかし、私は、代わりに、すべてを印刷したい それぞれの個々の文字
私のコマンドライン引数、1本あたり 行するようにこれを実行する際に
プログラムは、私は単にストリームを参照してください。 画面上の文字、その
総称して、私のシーケンスからのもの コマンドライン引数の。
>> さて、どのように私はこれを行うことができますか？
私は前からの私のループそのまま維持することができます それによって、私はまで、私から上の反復
ARGC上で統合するために コマンドライン引数自身。
しかし、今、それの各反復内 ループは、私は今、それぞれを反復する必要があります
文字や文字の 特定の文字列中。
そうそれをするために、私は1以上のループを必要としています。
>> のはそれを追加してみましょう。
int型のため、のはJと呼ぶことにしましょう​​、0に等しい。
今、私は統合する必要があるつもりです の長さになるまで、最大
ARGVにある現在の文字列。
だから私は自分自身に別のローカルを与えてみましょう 変数、我々はN、それを呼び出し、設定します
の文字列の長さへの同等 であることを行っている現在の引数、
私はセミコロンARGVブラケットで発見。
>> 私は今、J一から反復してみましょう Nが続くまで
各反復でインクリメント。
それでは、個々の印刷しましょう 画面上の文字。
printfの％cが、今回は、新たに続いて ライン、近くに引用符、コンマ、今
j番目の文字を必要とする i番目の引数に。
>> だから、その時点で取得するには、私は単純にできます 私はARVブラケットを指定する
i番目の引数を取得します。
そして私は、より深いレベル1に飛び込むことができます とのセカンダリインデックスを行う
ブラケットJ、閉じ括弧、 セミコロンは、[保存]。
そして今度は、コンパイルしてみましょう このプログラムを実行する。
>> ARGV2を作る -
私が期待していたものを全くしない。
まずはまでスクロールしてみましょう これらのエラーメッセージの。
そして、ここでは赤で、我々はエラーが表示され、 暗黙的にライブラリ関数を宣言
型にstrlenを -
ああ、ちょっと待って。
これは私が使用したのは初めてです。 strlen関数、と私は予想していなかった
最初はそれを望んでいるので、私は含まれていませんでした 宣言するヘッダファイル
文字列の長さ機能。
>> だから私のファイルの先頭に、 リコール、私はCS50.h.を持っている
私は標準io.h.を持っている
しかし、それは結局のところ、私はからこれを知っている 私が必要とする、ドキュメントを読ん
第三のヘッダファイルであれば、私、確かに、 のstrlen関数を使用します。
その関数はstring.hの中で宣言されている。
>> それでは、ファイルを保存し直してみましょう、 コンパイルして、実行します。
この時、我々だけではなくやる 引数のそれぞれを参照してください。
私たちは、代わりに各引数を参照してください。 一度に1文字。