>> 扬声器1：现在，让我们解决 这最后一个程序。
而这一次，让我们明确地分配 一些存储在其中
用户的输入将被存储。
要做到这一点，让我们磨练，首先 在哪里，我们宣布S码线
以前是一个char明星。
这一次，让我们重新申报 它如下 -
char中支架16，例如， 接近支架。
>> 换句话说，让我们来宣告s到无 再一个字符的地址，
但16个字符，而数组。
通过这种方式，用户可以输入最多15个 字符，仍然留有余地
一个空终止。
让我们继续保存，编译， 并运行此程序。
让scanf2点斜线scanf2。
现在，让我们输入一个字符串像招呼， 并且我们感谢为你好。
>> 现在，仍然有问题。
我只输入了招呼，这是唯一 五个大字，加1为空
终结者。
它留给我们的只有 需要6个字节。
>> 但不幸的是，我们只 共分配16。
因此，如果用户实际上类型16 字符，或17，或几百
字符，我们仍然不会 有足够的空间在内存中
用户的输入。
而事实上，这是什么使 获取用户输入，因此
难度一般。
事实上，这就是为什么我们实施 在第一个的get字符串函数
发生在CS50库 -
弄清楚如何处理这些 情况下，在用户类型
比我们更多的字符 最初的预期。
>> 坦率地说，不完全 重写这个程序，
有没有干净的解决方案。
相反，我们所要做的就是让 来自用户1的一个字符
时间，一遍又一遍。
并在每个点上，如果我们意识到我们 记忆体不足，我们将不得不在
这一点回去和重新分配 一些更多的内存，复制用户的
从我们的第一个块前一个输入 内存入新，
较大块的内存。
然后重复这个过程， 再次，直到用户完成提供
他或她的输入。