why is my code producing SIGSEGV in the indicated line? I want to change the first character of my string to 'k' (lowercase)
#include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
    struct node
    {
        int data;
        struct node* next;
    };
    void fun1(char** head)
    {
        printf("FUN2---%s",*head);
    //this line produces a segmentation fault
       **head='k';
    }
    void fun(char** head)
    {
      printf("FUN---HEAD:%s\n",*head);
        fun1(head);
    }
    int main()
    {
        char *ptr="KEWIN";
        printf("PTR:%p\n",ptr);
        fun(&ptr);
        printf("%s",ptr);
        return 0;
    }
