如果要在c中使用gets,我们将执行以下操作:
int main(void) {
char str[100];
while (gets(str)) {
printf("%s\n",str);
}
}
我们必须先知道str的长度(即100),然后再使用gets。是否可以在不知道c中数组长度的情况下使用gets?
最佳答案
如果要安全使用gets
,则不可能。
建议:不要使用gets
,因为如果不先知道长度,可能会导致缓冲区溢出。请改用fgets
,或在C11中使用gets_s
。
实际上,自C11起,gets
已从stdio.h
中删除。 (在C99中已弃用)