一段比较字符串大小的c语言代码,总是一运行就崩溃,达人帮我看看哪里的问题

[复制链接]
查看11 | 回复3 | 2011-12-23 13:26:01 | 显示全部楼层 |阅读模式
char* Input()中,s只是一个临时变量,它的生命期只在Input函数内,所以 p 指向s的首地址并返回后,但是当退出 Input()后,s就被释放了,所以在main函数中,再使用s1,s2时就出现了野指针访问异常。最简单的解决办法就是将char s[21]定义成全局的。改好的程序:#include #include char s[21]; //这里!这里!这里!这里!这里!这里!这里!这里!char* Input();int strcmp( char* s1 , char* s2);void AbondonFirstChar(char* s);int m...
回复

使用道具 举报

千问 | 2011-12-23 13:26:01 | 显示全部楼层
不清楚...
回复

使用道具 举报

千问 | 2011-12-23 13:26:01 | 显示全部楼层
char* s1 , * s2 ;这儿只是指针,并没有分配空间,所以输入肯定会出错...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行