为什么调试会出现这个错误
代码:
#include<stdio.h>
#include<string.h>
char * substr(char *str,int n)
{
unsigned char len=strlen(str);
for(;len>0;len--)
{
if(str[len-1]==' ')
str[len-1]=0;
}
for(;n>0;n--)
{
str+=(strlen(str)+1);
}
return str;
}
int main(void)
{
char *str1;
char *str="123 456 789";
*str1=substr(str,2);
printf("str1 =%s\n",*str1);
return 0;
}

请专家指教,谢谢!
...全文
相关推荐
C语言调试常见错误C语言调试常见错误
C语言调试常见错误C语言调试常见错误C语言调试常见错误
段错误的调试
段错误的调试,通过4种方法来解决编程过程中出现的段错误
KEIL调试错误总结
运用KEIL软件编写51单片机程序过程中各种错误和警告,给出解决参考,可以让调试少走很多弯路,一部分摘自网上一部分自己总结,希望有需要的可以用到。
Linux下的段错误产生的原因及调试方法
Linux下的段错误产生的原因及调试方法
C 语言调试方法与常见错误修复
本文介绍了C语言调试的核心技术与方法,主要内容包括:1. 程序错误的三种类型:语法错误、语义错误和运行时错误的特点与识别方法;2. 基本调试方法:观察法、打印调试法和断点调试法的应用场景与优缺点;3. GDB调试器的使用详解:从编译调试版本到设置断点、单步执行、查看变量等核心命令;4. 常见错误调试技巧:针对数组越界、空指针、内存泄漏等问题的具体解决方案;5. 调试工具生态:介绍了图形化调试工具、静态分析工具和内存调试工具等辅助手段。文章强调调试不仅是修复错误的过程,更是深入理解程序运行机制的重要途径,并提


