0

I try to change a value of a char inside a function, but it doesn't work, I can't change the main function and the function call


typedef char* char_array;

int change(char_array arr, int index, char c){

    int length = 6;
    char *new_array = calloc(length, sizeof(char_array));
    new_array = arr;
    str = calloc(length, sizeof(char_array));

    if(index >= 0 && index <= length){
        for(int i = 0; i < length; i++){
            if(i == index){
                arr[i] = c;
            }else{
                arr[i] = new_array[i];
            }
            
        }
        return 0;
    }else{
        return -1;
    }
}
int main(){
    char_array arr = "Hello!";
    change(arr, 5, ' ');
    printf("%s", arr);

}

correct print: Hello but print: Hello!

Cebolexx
  • 3
  • 2

0 Answers0