aboutsummaryrefslogtreecommitdiff
path: root/ch2/2-10_lower.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ch2/2-10_lower.c20
1 files changed, 20 insertions, 0 deletions
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 <stdio.h>
+
+/* 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;
+}