第1个回答 2020-02-18
看Unix/Linux上的man:
Standard
C
Library
Functions
gets(3C)
NAME
gets,
fgets
-
get
a
string
from
a
stream
SYNOPSIS
#include
char
*gets(char
*s);
char
*fgets(char
*s,
int
n,
FILE
*stream);
DESCRIPTION
The
gets()
function
reads
bytes
from
the
standard
input
stream
(see
intro(3)),
stdin,
into
the
array
pointed
to
by
s,
until
a
newline
character
is
read
or
an
end-of-file
con-
dition
is
encountered.
The
newline
character
is
discarded
and
the
string
is
terminated
with
a
null
byte.
....
gets是标准库函数,要求传入的是一个数组的地址。其实是要求caller应当分配空间给他。你的结构体中指针数组指向了已经分配好的内存吗?如果没有就别想了。想用就自己先给他空间