关于C语言指针的问题,左值和右值都是指针的解引用,最后会出现程序死机

在学习指针相关操作时发现的问题,不知道其中的原因在哪里?

#include <stdio.h>
void reverse_string( char *string );

int main(void)
{
    char *str = "ABCDEF";
    reverse_string(str);
    printf("%s\n",str);
    
    return 0;
}
void reverse_string( char *string )
{
    char *end = string;
    while( *end != '\0')
        end++;
    end--;
    while(end > string)
    {
        char temp;
        temp = *end; 
        *end = *string;    //    <-----程序在这里出现了问题 
        *string = temp;
        end--;
        string++;
    }
}

DEV C++调试出现的错误为下(编译器为MinGwW-w64 GCC10.3.064-bit Debug):

img

有没有人知道哪里出了问题,求解!!

string是常量字符串,不能修改,你改成char str[10] = "ABCDEF";就可以了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632