From fa996dc786d26afc508d637c565ec401f6b5ddb9 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 23 Jul 2019 12:46:59 -0400 Subject: Broke up character lowering from string lowering. --- ch2/2-10.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/ch2/2-10.c b/ch2/2-10.c index 619e2d1..3c6b0cc 100644 --- a/ch2/2-10.c +++ b/ch2/2-10.c @@ -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; +} -- cgit v1.2.3