I have not debugged this programing using gdb though I have ascertained the problem lay with the pointer assignment in the function.Code:#include <stdio.h> #include <stdlib.h> #include <stdbool.h> /* Include the stand boolean header */ #include <math.h> #include "share.h" /* Custom header of no affect to problem */ void cpy(char *original, char *copy) { while (*original != '\0') *copy++ = *original++; } int main(VOID) { char phrase[] = "Blessed be the Lord!"; char *copy = ""; cpy(phrase, copy); printf ("%s", copy); return 0; }