char *strlower(string) /* Transforms all characters in string to lower case */ char *string; /* String to transform */ { char *pc; /* Save the starting address */ pc = string; while (*string) { if (isupper(*string)) *string = tolower(*string); string++; } return pc; } Why not just: while (*string) { *string = tolower(*string); string++; } Personally I prefer: for (; *string; string++) *string = tolower(*string);