/* Fig. 7.21: fig07_21.c Copying a string using array notation and pointer notation. */ #include void copy1( char *s1, const char *s2 ); /* prototype */ void copy2( char *s1, const char *s2 ); /* prototype */ int main() { char string1[ 10 ]; /* create array string1 */ char *string2 = "Hello"; /* create a pointer to a string */ char string3[ 10 ]; /* create array string3 */ char string4[] = "Good Bye"; /* create a pointer to a string */ copy1( string1, string2 ); printf( "string1 = %s\n", string1 ); copy2( string3, string4 ); printf( "string3 = %s\n", string3 ); return 0; /* indicates successful termination */ } /* end main */ /* copy s2 to s1 using array notation */ void copy1( char *s1, const char *s2 ) { int i; /* counter */ /* loop through strings */ for ( i = 0; ( s1[ i ] = s2[ i ] ) != '\0'; i++ ) { ; /* do nothing in body */ } /* end for */ } /* end function copy1 */ /* copy s2 to s1 using pointer notation */ void copy2( char *s1, const char *s2 ) { /* loop through strings */ for ( ; ( *s1 = *s2 ) != '\0'; s1++, s2++ ) { ; /* do nothing in body */ } /* end for */ } /* end function copy2 */ /************************************************************************** * (C) Copyright 1992-2004 by Deitel & Associates, Inc. and * * Pearson Education, Inc. All Rights Reserved. * * * * DISCLAIMER: The authors and publisher of this book have used their * * best efforts in preparing the book. These efforts include the * * development, research, and testing of the theories and programs * * to determine their effectiveness. The authors and publisher make * * no warranty of any kind, expressed or implied, with regard to these * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or * * consequential damages in connection with, or arising out of, the * * furnishing, performance, or use of these programs. * *************************************************************************/