#include #include void change_const(const double *param_pointer){ double *pe = (void*)param_pointer; *pe = 39; } void our_strcpy(char* dest, char* source){ for( ; *source; *dest++ = *source++); return; // return nothing, because the return type is void // Long version while(*source != 0){ *dest = *source; dest++; source++; } } int main(){ int a = 5; int *pa = &a; pa = 10; printf("a = %d\n", a); // *pa = 10; // causes segfault // printf("a = %d\n", a); char animal[] = "dugong"; char copy[32]; our_strcpy(copy, animal); printf("Copy is %s\n", copy); double e = 2.71; printf("e = %lf\n", e); e = 271; change_const(&e); printf("e = %lf\n", e); return 0; }