读书人

简单字符串有关问题!很迷惑

发布时间: 2012-02-20 21:18:24 作者: rapoo

简单字符串问题!很迷惑!
#include <string.h>
#include <stdio.h>

int main()
{
char *s= "0123456789012345678901234567890 ";
char *p;
p=strrchr(s, '5 ');
printf( "%s\n ",p);
*p= '\0 ';//问题所在
//int len=strlen(s)-strlen(p);
//s[len]= '\0 ';
printf( "%s\n ",s);
}

编译通过,运行时段错误!
但是用gdb却能调通!gcc3.4.3
不知道为什么?求解!

[解决办法]
char *s= "0123456789012345678901234567890 ";
改成
char s[]= "0123456789012345678901234567890 ";
吧。
[解决办法]
*p= '\0 ';//问题所在
==================
修改常量区数据了,改成数组同ls,存放于栈空间

读书人网 >C语言

热点推荐