DAVID J. Malan: Mari kita mengambil hal-hal satu langkah lebih lanjut, sekarang. Misalkan bahwa saya tidak hanya ingin untuk mencetak semua program saya argumen baris perintah. Tapi aku, sebaliknya, ingin mencetak semua karakter individu di setiap saya argumen baris perintah, satu per line, sehingga pada saat menjalankan ini Program, saya hanya melihat aliran karakter pada layar yang kolektif adalah dari urutan saya dari argumen baris perintah. 

Nah, bagaimana saya bisa melakukan ini? Saya bisa tetap utuh loop saya dari sebelum dimana saya berulang dari i sampai Argc untuk mengintegrasikan atas baris perintah argumen sendiri. Tapi sekarang, dalam setiap iterasi yang lingkaran, saya perlu sekarang iterate atas setiap karakter atau karakter dalam string tertentu. Jadi untuk melakukan itu, saya perlu satu loop lagi. 

Mari menambahkan bahwa. untuk int, sebut saja j, sama dengan 0. Sekarang aku akan perlu mengintegrasikan sampai panjang string yang saat ini di argv. Jadi biarkan saya memberi diriku lokal lain variabel, kita akan menyebutnya n, dan mengatur yang sama dengan panjang string dari Argumen saat ini, yang akan menjadi ditemukan di argv braket i titik koma. 

Sekarang saya iterate dari j up sampai n diikuti oleh kenaikan pada setiap iterasi. Sekarang mari kita mencetak individu karakter di layar. Printf% c kali ini diikuti oleh baru baris, kutipan dekat, koma, dan sekarang saya membutuhkan karakter-j dalam argumen-i th. 

Jadi untuk mendapatkan itu, saya hanya bisa tentukan ARV braket i untuk mendapatkan argumen-i th. Dan kemudian saya dapat menyelam di satu tingkat lebih dalam dan melakukan indeks sekunder braket j, kurung tutup, koma, Simpan. Dan sekarang mari kita kompilasi dan menjalankan program ini. 

Membuat ARGV2 - tidak cukup apa yang saya harapkan. Mari kita gulir ke atas untuk yang pertama pesan-pesan kesalahan. Dan merah di sini, kita melihat kesalahan, implisit menyatakan fungsi perpustakaan strlen dengan tipe - oh, tunggu dulu. Ini adalah pertama kalinya saya telah menggunakan strlen, dan saya tidak mengantisipasi ingin itu pada awalnya, jadi saya tidak termasuk file header yang menyatakan fungsi panjang string. 

Jadi di bagian atas file saya, ingat, saya memiliki CS50.h. Saya memiliki io.h. standar Tapi ternyata, dan saya tahu ini dari membaca dokumentasi, yang saya butuhkan file header ketiga jika aku, memang, ingin menggunakan fungsi strlen. Fungsi yang dideklarasikan di string.h. 

Mari kita menyimpan lagi berkas tersebut, kompilasi, dan menjalankan. Dan kali ini, kita tidak hanya melihat setiap argumen. Kami bukannya melihat setiap argumen satu karakter pada satu waktu.