我在某处读到scanf()
我可以输入最多15个char
s。对吗?它有界吗?
没有
scanf()
对用户可以输入的字节数有限制吗?
。
然而,我们可以对实际要扫描的输入长度施加限制。的。我们使用最大字段宽度和转换说明符。一个简单的例子是
char arr[15] = {0};
scanf("%14s", arr);
上述格式保证了无论用户输入的长度是多少(即输入缓冲区中存在的数据),scanf()
只会读取14
char
s,因此,即使较长的用户输入,我们也可以防止缓冲区溢出。
仍然,它对用户输入没有任何限制。当被要求时,用户仍然可以输入char
s的任意数量(至少,理论上)。
不
你可以输入尽可能多的字符,直到你按下换行符,即回车。当然,你也可以通过"%ns"
进行限制n
没有字符限制