[E-4] Write function that converts each upper
case character of a string to lower case. If a character is not upper case,
it is not altered. Here is a testing program:
/* Puzzle S05 -- string to lower case */
#include <stdio.h>
#include <stdlib.h>
int toLowercase( int ch )
{
}
void strToLower( char *p )
{
}
int main()
{
char trials[6][100] = {"UPPER CASE + lower case", "X", "", "Yet another string",
"End Of\nLines Should\nWork Fine.", "The game is afoot!"};
int j ;
for ( j=0; j<6; j++ )
{
printf("Original : %s\n", trials[j]);
strToLower( trials[j] );
printf("Converted: %s\n\n", trials[j] );
}
return 0;
}
Note: The array trials contains
six strings (of up to 99 characters
each). These strings are not constants, so they can be altered by strToLower().
The following testing program would NOT work, because it attempts to alter a
constant string literal:
int main()
{
char trial = "Immutable string LITERAL!" ;
printf("Original : %s\n", trial );
strToLower( trial ); /* Run-time error */
printf("Converted: %s\n", trial );
}
However, with some C compilers the above defective program actually will compile and run without reported error.