HOPARLÖR 1: indi düzeltmek edək ki, ötən proqram. Və bu zaman, ən aydın şəkildə ayrılması bildirin bir yaddaş olan İstifadəçilərin giriş saxlanılır. Bunu etmək üçün, ki ilk bilemek imkan biz s bəyan kodu xətt Əvvəllər char ulduz olmaq. Bu dəfə edək yenidən bəyan Bu aşağıdakı kimi - char s bracket 16, məsələn, yaxın bracket. Başqa sözlə, bu, heç bir ş.s bəyan edək uzun bir xarakter bir ünvan ola, lakin 16 simvol olduqca bir sıra. Bu yolla, istifadəçi üçün 15 yazın simvol və hələ də otağı tərk bir null terminator. Saxla nin davam edək, Kompilyasiya, və bu proqram Run. Scanf2 dot çizgi scanf2 olun. İndi salam kimi bir simli yazın edək, və biz salam üçün təşəkkür edirik. İndi, bir problem hələ də var. Mən yalnız olan, hello tipli null üçün beş simvol, plus 1 terminator. Bu, yalnız bizə yaradır altı bytes üçün ehtiyac. Amma təəssüf ki, biz yalnız cəmi 16 ayırıb. Belə ki, əgər 16 istifadəçi həqiqətən növləri simvol və ya 17, ya bir neçə yüz simvol, biz hələ fikrində deyilik üçün yaddaş kifayət qədər otaq var İstifadəçilərin girdi. Və əslində, bu, nə istifadəçi daxil əldə belə ümumiyyətlə çətindir. Biz həyata nə həqiqətən, bu ilk get string funksiyası CS50 kitabxana yer - o idarə etmək üçün necə anlamaq üçün hallar olduğu istifadəçi növləri biz daha çox simvol əvvəlcə gözlənilən. Açığı, tamamilə Bu proqram yeniden, təmiz həll var. Əksinə, biz nə olardı almaq bir user bir bir xarakter vaxt, təkrar. Və hər bir nöqtədə, biz istəyirik, həyata əgər yaddaş, biz olardı ki point geri getmək və təkrar bölüşdürə bir daha yaddaş, istifadəçinin surəti bizim ilk yığın əvvəlki input yeni daxil yaddaş, yaddaş böyük yığın. Və sonra yenidən bu prosesi təkrar və istifadəçi təmin edilir yenidən qədər onun input.