为什么第一个用char*可以,第二个就显示错误
c4droid吧
全部回复
仅看楼主
level 9
h93351
楼主
为什么第一个用char*可以,第二个就显示错误
2018年12月04日 15点12分
1
level 9
h93351
楼主
这样好像也不行……
2018年12月06日 14点12分
3
level 7
预知未来🌀
C语言不同于Java,第一你声明了一个char指针但是没有赋值。未初始化的变量值是随机的,比如上次系统函数在栈0x7fxxxx遗留的数据而你没有初始化导致这个char指针指向它。gets没有数据过滤导致你非法在这个未初始化的内存里输入了n个字符的数据从而导致栈溢出,报段错误
2018年12月09日 11点12分
5
1