我使用的是gets(),因为这很简单,我们被告知要这样做。 就像我没有gets(&a)...
` char a,b,c;
switch(x);
case '1':printf("Please enter the author\n");
printf("Author:");
gets(&a);
printf("\nTitle:");
gets(&b);`
答案 0 :(得分:1)
为什么我的第一个gets()不起作用?
gets(char *);
需要一个指向一个位置的指针,以形成一个非零长度的字符串。
char a
的大小只能容纳长度为零的""
字符串。
gets(&a);
是缓冲区溢出-研究未定义的行为。
“我使用的是gets(),因为这很简单,我们被告知要这样做。” ->对不起,您的学校/工作是这样。推荐研究更好的学校。