这个错在哪里?为什么运行时显示segmentation fault
#include<stdio.h>
void main()
{
char *str={"asd ag hhhk mk32"};
char *s;
for(;*str!='\0';str++)
if(*str!=' ')
{
*s=*str;
s++;
}
*s='\0';
puts(s);
}
1回答
-
wldraa
把 char *s 改成 char *s = (char*)malloc(sizeof(char) * 100); (可能要引入 malloc.h)你没有为 s 分配内存,所以操作 s 指向的内存的时候会报这个错误