DAVID MALAN: Katakan kita ingin menulis satu program yang meminta pengguna untuk rentetan dan kemudian capitalizes tali itu. Nah, mari kita mulakan dengan beberapa biasa kod mengisytiharkan tali yang dipanggil dan memberikan ia kembali nilai getstring. Dan mari kita kini meneruskan melelar lebih watak-watak dalam rentetan ini. Nah, bagaimana untuk melakukannya? Ia ternyata bahawa rentetan hanya jujukan aksara, tetapi lebih betul, tali adalah pelbagai watak-watak, yang bermaksud kita boleh menggunakan persegi notasi kurungan kepada indeks ke dalam rentetan dan mendapat sekurang-individu aksara. 

Dalam erti kata lain, kita boleh yang berikut:. Untuk int, i mendapat 0 dan n mendapat, mengatakan, panjang s, dengan menggunakan fungsi [kita? kacau?] [? line,?] i adalah kurang daripada n i + +. Dalam erti kata lain, dengan gelung ini, kami akan melelar atas segala surat n dalam rentetan s. Dan dalam gelung ini, saya akan cek, jika i-ke-watak dalam s lebih besar daripada atau sama dengan huruf kecil a, dan i-ke-watak adalah kurang daripada atau sama dengan c huruf kecil, maka saya ingin meneruskan untuk mengambil kesempatan surat itu. Dalam erti kata lain, saya ingin mencetak% c sebagai pemegang tempat dan pemain gantian dalam untuk kurungan yang pemegang tempat s i. 

Tetapi saya perlu menukar s kurungan i kepada huruf besar. Untuk melakukan ini, saya hanya boleh menolak apa perbezaan antara huruf kecil dan modal A. Well, saya sebenarnya masih ingat bahawa modal adalah 65 di ASCII, dan huruf kecil adalah 97. Jadi perbezaan tersebut secara teknikal 32. Jadi saya boleh hanya kod keras 32 di sini. Tetapi saya mungkin tidak semestinya ingat nombor-nombor. 

Dan lebih-lebih lagi, bagaimana jika mereka berbeza-beza oleh komputer? Kemungkinan besar mereka tidak. Tetapi titik tetap bahawa saya masih boleh umum bahawa ungkapan aritmetik sebagai hanya apa sahaja perbezaan adalah antara huruf kecil dan modal A adalah apa yang saya mahu tolak off dari ini huruf kecil tertentu. 

Sekarang, jika surat tertentu ini tidak huruf kecil, saya hanya mahu mencetak. printf,% c sebagai pemegang tempat saya, s kurungan i. Di bahagian bawah program ini, mari kita hanya mencetak newline supaya saya segera muncul di baru garis sendiri. 

Sekarang mari kita menyusun program ini dengan make capitalize0. Mari kita menjalankannya dengan capitalize0. Dan mari kita taip perkataan seperti hello dalam semua huruf kecil. Saya balik HELLO huruf besar seperti yang diharapkan. Tetapi mari kita cuba satu ujian lebih, kali ini dengan nama saya sendiri, D-A-V-I-D, tetapi dengan D pertama dipermodalkan, hanya dalam kes saya merosakkan sesuatu sehingga dengan char pertama. Masukkan, dan D-A-V-I-D dalam huruf besar dicetak juga.