From 84f1c31fcf1a073e161ece6284272ff75ee0dcf2 Mon Sep 17 00:00:00 2001 From: zlg Date: Sat, 6 Apr 2013 05:41:28 -0500 Subject: Solve Exercise 2-10: lower() Also added more information to 2-09's comments. --- ch2/2-10_lower.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ch2/2-10_lower.c (limited to 'ch2/2-10_lower.c') diff --git a/ch2/2-10_lower.c b/ch2/2-10_lower.c new file mode 100644 index 0000000..fe0288b --- /dev/null +++ b/ch2/2-10_lower.c @@ -0,0 +1,20 @@ +#include + +/* The C Programming Language: 2nd Edition + * + * Exercise 2-10: Rewrite the function 'lower', which converts upper case + * letters to lower case, with a conditional expression instead of if-else. + * + * Answer: The tertiary ?: operators also _evaluate_, so they can be used in + * a lot of different places. + */ + +int lower(int c) { + return (c >= 'A' && c <= 'Z') ? c + 'a' - 'A' : c; +} + +int main() { + char foo = 'F'; + printf("The follow letter should be lowercase: %c\n", lower(foo)); + return 0; +} -- cgit v1.2.3-54-g00ecf