猿问

这个错在哪里?为什么运行时显示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
浏览 1381回答 1
1回答

wldraa

把 char *s 改成 char *s = (char*)malloc(sizeof(char) * 100); (可能要引入 malloc.h)你没有为 s 分配内存,所以操作 s 指向的内存的时候会报这个错误 
随时随地看视频慕课网APP
我要回答