SPEAKER 1: Mari kita kini menetapkan bahawa program lepas. Dan kali ini, mari kita secara jelas memperuntukkan beberapa memori di mana input pengguna akan disimpan. Untuk berbuat demikian, mari kita mengasah dalam pada yang pertama baris kod di mana kita diisytiharkan s sebelum menjadi bintang char. Kali ini, mari kita semula mengisytiharkan ia seperti berikut - char s kurungan 16, misalnya, kurungan dekat. Dalam erti kata lain, mari kita mengisytiharkan s untuk tidak lagi menjadi alamat aksara, tetapi pelbagai 16 aksara. Dengan cara ini, pengguna boleh menaip sehingga 15 watak-watak dan masih meninggalkan ruang untuk terminator null. Mari kita meneruskan untuk Simpan, Menyusun, dan Lari program ini. Buat scanf2 dot slash scanf2. Sekarang mari kita menaip rentetan seperti hello, dan kami mengucapkan terima kasih kepada hello ini. Sekarang, masih ada masalah. Saya hanya ditaip dalam hello, yang hanya lima watak, ditambah 1 untuk nol terminator. Ia meninggalkan kita dengan hanya keperluan untuk enam bait. Tetapi malangnya, kami hanya diperuntukkan 16 dalam jumlah. Jadi jika pengguna sebenarnya jenis dalam 16 aksara, atau 17, atau beberapa ratus aksara, kami masih tidak akan mempunyai ruang yang cukup dalam memori untuk input pengguna. Dan sebenarnya, ini adalah apa yang membuat mendapatkan input pengguna supaya sukar amnya. Dan sesungguhnya, ini adalah mengapa kami melaksanakan fungsi tali mendapatkan dalam yang pertama tempat di perpustakaan CS50 yang - memikirkan bagaimana untuk mengendalikan mereka situasi di mana jenis pengguna dalam lebih banyak aksara daripada kita pada mulanya dijangkakan. Terus terang, tanpa benar-benar menulis semula program ini, tidak ada penyelesaian bersih. Sebaliknya, apa yang kita perlu lakukan adalah mendapatkan watak dari seorang pengguna pada masa, lagi dan lagi. Dan pada setiap mata jika kita sedar kita daripada memori, kita perlu di ketika itu kembali dalam dan memperuntukkan semula memori yang lebih, menyalin pengguna ini input sebelumnya dari sebahagian kita yang pertama memori ke dalam baru, sebahagian besar memori. Dan kemudian mengulangi proses itu sekali lagi dan lagi sehingga pengguna dilakukan menyediakan input nya.