title: Implement strstr
body: <p>I am trying to write the strstr function from scratch.  I went through my code line by line in the debugger and it works fine.  However, it is not saving the start of the substring its searching for properly.  And, therefore, it is not returning it properly.  I do not have much programming experience so my code is a little messy and convoluted. However, it does work for the most part.  Here is my code below (commented for my professor and for you all to see what I did). (also, my professor has already expressed his acceptance of the goto function)</p>
  
  <pre><code>char *strgstr(const char *str1, const char *str2)
  {
      //I went through this function line by line with the debugger
      //The only problem with it is when I go to save the location of the
      //substring in str1.  
      //I posted a question on stackoverflow and I was able to get it to compile
      //but it still doesn't save and return properly.  The rest of the function works.
      int len_str1=strlen(str1);
      int len_str2=strlen(str2);
      char *save_str=NULL;
      int i=0;
      for(; i&lt;len_str1; i++)
      {
  there:
          if(str1[i]==str2[0])            //checks if this is the beginning of str2
          {
              save_str=(char*)str1[i];    //This is where the problem is. 
              int j=0;                    //start at beginning of str2
              for(;i&lt;len_str1;i++)        //index str1
              {
                  if(j&lt;len_str2)          //checks if we've finished searching str2
                  {
                      if(str1[i]!=str2[j])
                      {
                          goto there;
                      }
                      j++;
                  }
                  else
                  {
                      return save_str;    //does not return properly.  I can't figure out how to save a particular point in the index to a pointer. 
                  }
              }
          }
  
      }
  }
  </code></pre>