qq_38210544 2019-04-20 21:43 采纳率: 100%
浏览 330
已采纳

请问以下一段代码在Dev-C++上运行直接崩溃是什么原因

代码来源C和指针课后答案6.2,增加主函数

#include<stdio.h>
#define NUL '\0'
#define TRUE 1
#define FALSE 0
int del_substr(char *str,char const *substr);
int main(void)
{
    char *str="abcdefg";
    char const *substr="de";
    int a;
    a=del_substr(str,substr);
    printf("%d",a);
    return 0;
}
char *match(char *str,char const *want)
{
    while(*want!=NUL)
        if(*str++ != *want++)
            return NULL;
    return str;
}
int del_substr(char *str,char const *substr)
{
    char *next;
    while(*str!=NUL)
    {
        next=match(str,substr);
        if(next!=NULL)
            break;
        str++;

    }

    if(*str==NUL)
        return FALSE;
    while(*str++ = *next++)
        ;
    return TRUE;
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-04-20 22:28
    关注

    while(*str++ = *next++)
    你这里有赋值操作

    char *str="abcdefg";
    char const *substr="de";
    

    这里都是常量,只读的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序