scanf对用户可以输入的字节数有限制吗?

时间:2015-07-13 09:12:41

标签: c user-input scanf

我在某个地方读到scanf()我可以输入最多15 char秒。这样对吗?它有限吗?

2 个答案:

答案 0 :(得分:2)

  

char arr[15] = {0}; scanf("%14s", arr); 对用户可以输入的字节数有限制吗?

然而,FWIW,我们可以对实际要扫描的输入的长度施加限制。为了那个原因。我们使用最大字段宽度和转换说明符。一个简单的例子是

scanf()

上述格式保证无论用户输入的长度如何(即输入缓冲区中存在的数据),14只会读取char char s,并且因此,即使在较长的用户输入的情况下,我们也可以防止缓冲区溢出。

但是,它并未对用户输入施加任何限制。当被问及时,用户仍然可以输入任意数字(至少理论上Widget Version Latest XYZ 1.0 0 XYZ 1.1 0 XYZ 1.2 1 ABC 1.0 1 s。

答案 1 :(得分:1)

您可以输入尽可能多的字符,直到您按下换行符,即输入。并且,是的,您可以使用"%ns" n来限制SELECT不限制字符