如果要在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中已弃用)

07-24 09:46
查看更多