This code finds the next word in the string.
For example
given an input of "  my cake" the function should return "my cake". as the expected output
If I use return then the output is (null), but I use printf then the code works
I would like to know how to get the expected output using return.
       #include <stdio.h>
        int main()
        {
        char* str[1000]; 
        printf("enter:");
        fgets(str,1000,stdin);
        printf("%s",find_word_start(str));
        }
        char* find_word_start(char* str){
                char* result[1000];
                int c = 0, d = 0;
                while(str[c] ==' ') { 
                    c++; 
                }
                while(str[c] != '\0'){ 
                    result[d++] = str[c++];
                    if(str[c]==' ') {
                    result[d++] = str[c++]; 
                } 
                while(str[c]==' ') { // 
                    c++; 
                } 
            }
            result[d] = '\0';
            //print or return char?
            return result;
    }
 
     
    