diff options
-rw-r--r-- | ch2/2-10.c | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -2,21 +2,26 @@ #define MAX_LEN 20 -void lower(char* source, char* dest); +void lower_str(char source[], char dest[]); +char lower_char(char c); int main() { - char* s = "This Is A Test."; - char lower_s[MAX_LEN]; - lower(s, lower_s); - printf("%s -> %s\n", s, lower_s); + char s[] = "This Is A Test."; + char lowered[MAX_LEN]; + lower_str(s, lowered); + printf("%s -> %s\n", s, lowered); return 0; } -void lower(char* source, char* dest) { +void lower_str(char source[], char dest[]) { int i; for (i = 0; source[i] != '\0'; i++) - dest[i] = source[i] >= 'A' && source[i] <= 'Z' ? source[i] - 'A' + 'a' : source[i]; + dest[i] = lower_char(source[i]); dest[i] = '\0'; } + +char lower_char(char c) { + return c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c; +} |