长期聆听者,第一次来电者。
如果这个问题已经得到解决,我深表歉意(我想这已经被广泛讨论),但我已经搜索了许多关于指针和其他看似相关主题的问题,但我仍然无法解决我的问题。
我目前正在为类项目编写一个字符串库,当我尝试这个时遇到分段错误错误:
#include "str2107.h"
#include <stdio.h>
void lstrip(char *s) {
char *p, *q;
p = q = s;
while (*p == ' ' && *p != '\0') {
*p++;
}
while (*p != '\0') {
*q = *p; //this is where the actual segmentation fault occurs.
p++;
q++;
}
*q = '\0';
}
我的主程序如下所示:
#include <stdio.h>
#include <stdlib.h>
#include "str2107.h"
int main(int argc, char** argv) {
char *z1 = " weeee";
printf("lstrip function\n");
printf("%s\n",z1);
lstrip(z1);
printf("%s\n",z1);
return 0;
}