int main(int argc, char **argv){
char *str = argv[1];
size_t len = strlen(str);
char *dst = calloc(len+1, sizeof(char));
int i;
for(i=len-1; i>=0; i--){
memcpy(dst, str+i, 1);
dst++;
}
*(++dst) = '\0';
printf("%s\n", dst);
free(dst);
return 0;
}
为提高可读性而省略了错误检查
我不明白为什么我会收到一条带有此消息的段错误:“glibc free(): invalid pointer:”
我正在尝试编写一个使用指针反转字符串的小程序,但是:
1)最后 printf 什么也不打印;
2)我有一个段错误