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文字。