我正在尝试使用gets和puts获取和打印一个字符串,但是当我一起使用它们时出现分段错误错误。这是我试图让它工作的代码。[我输入字符串“prova”来测试它]
int main()
{
char *s;
gets(s);
puts(s);
return 0;
}
如果我用“scanf”更改“gets”,我会得到同样的错误。如果我用 "printf("%s", s)" 改变 "puts" 我得到输出。如果我声明 char *s = "prova" 然后 puts(s) 我得到输出。
我也试图改变 char *s; 使用 char s[] 但我得到了同样的错误。
我在哪里错了?非常非常
我知道gets很糟糕,只是因为我正在写Deitel和Deitel的“C如何编程,第五版”中的练习