When I run this code, I am getting segmentation fault. How can I fix it?
#include <stdio.h>
void reverse(char *str)
{
    char *end=str;
    char temp;
    while(*end)
    {
    ++end;
    }
    --end;
    while(str < end)
    {
        temp=*str;
        *str=*end;
        *end=temp;
        str++;
        end--;
    }
}
void main()
{
    char *s="random";
    reverse(s);
}
 
     
    