int m = 0;
int n = 0;
int show_flag = 0;
while ( long_string2[ m ] != '\0'){
 n = 0;
 if ( long_string2[ m ] != key[ n ] )
  ++m;
 else
 {
  do{
   ++m;
   ++n;
  }while ( long_string2[ m ]!='\0' && key[ n ]!='\0' && long_string2[ m ]==key[ n ] );
  if ( key[ n ] == '\0' ){
   printf( "%d文字目から%d文字目までに出現している。", m - n + 1, m );
   show_flag = 1;
  }
 }
}
if(show_flag)
 printf( "含まれていない。\n" );


あんまし違わないね...