summaryrefslogtreecommitdiff
path: root/ch01/ex10-replace.c
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-01-10 16:37:39 +0800
committerZhineng Li <[email protected]>2026-01-10 16:37:39 +0800
commit49891f6bce29843f503b437c84d83cb787ecfa87 (patch)
tree50bd44422a907b869a6d4839df436f37a35be36d /ch01/ex10-replace.c
downloadc-knr-exercises-49891f6bce29843f503b437c84d83cb787ecfa87.tar.gz
c-knr-exercises-49891f6bce29843f503b437c84d83cb787ecfa87.zip
first commit
Diffstat (limited to 'ch01/ex10-replace.c')
-rw-r--r--ch01/ex10-replace.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/ch01/ex10-replace.c b/ch01/ex10-replace.c
new file mode 100644
index 0000000..b7ec4a5
--- /dev/null
+++ b/ch01/ex10-replace.c
@@ -0,0 +1,26 @@
+#include <stdio.h>
+
+/* replace each tab by \t, each backspace by \b, and each backslash by \\ */
+int main()
+{
+ int c;
+
+ while ((c = getchar()) != EOF) {
+ if (c == '\t') {
+ putchar('\\');
+ putchar('t');
+ }
+ if (c == '\b') {
+ putchar('\\');
+ putchar('b');
+ }
+ if (c == '\\') {
+ putchar('\\');
+ putchar('\\');
+ }
+ if (c != '\t')
+ if (c != '\b')
+ if (c != '\\')
+ putchar(c);
+ }
+}