当使用 scanf
函数读取字符串时,指定字段宽度是一种良好的做法,以防止缓冲区溢出。这确保输入的字符串不会超过指定的长度,从而防止潜在的安全问题。在你的程序中,你可以使用 %29s
来限制输入字符串的长度:
这里 %29s
表示最多读取29个字符(不包括空终止符),以确保不会超过 name
数组的大小。这是因为 name
的大小是 SIZE
,而在你的程序中,SIZE
被定义为 30
。
在处理字符串输入时,始终确保在 scanf
中指定字段宽度,以防止缓冲区溢出引发的潜在问题。