ANSI Escape Codes in C – Control Terminal Cursor, Colors, and Position

ANSI escape codes let you control the terminal from a standard C program — hide or show the cursor, move it to any position, and print colored or styled text. Unlike the old DOS graphics.h approach that only worked in Turbo C, ANSI escape codes work on any POSIX terminal: Linux, macOS, and modern Windows …

Sort a String Alphabetically in C – Case-Sensitive and Case-Insensitive

To sort a string alphabetically in C, apply bubble sort to the character array: compare adjacent characters and swap them when the left character is greater than the right. After all passes, the characters are in ascending ASCII order — digits first, then uppercase A–Z, then lowercase a–z. For a sort that treats ‘A’ and …

Reverse a String in C Using Pointers – Three Approaches with Code

Reversing a string in C means rearranging its characters so the last character becomes the first and vice versa: “Hello” becomes “olleH”. The standard technique is the two-pointer swap — place one pointer at the start and one at the end, swap the characters they point to, then move the pointers toward each other until …

K&R C Chapter 7 Exercise Solutions — Input and Output

Chapter 7: Input and Output covers the standard I/O library in depth — formatted output with printf, formatted input with scanf, file access with fopen/fclose, line I/O with fgets/fputs, and error handling via stderr. The chapter also introduces variable-argument functions (stdarg.h) through a worked minprintf example. The exercises range from practical utilities (a case-converter, a …

C Program to Convert Number to Words (0 to 99999)

Converting a number to words means printing its English name: 4562 becomes four thousand five hundred sixty two. This is useful in invoice generation, banking applications, and cheque printing. The logic handles a key edge case — the teens (11–19) — where the tens digit 1 does not produce “ten X” but a single combined …

K&R C Chapter 6 Exercise Solutions — Structures

Chapter 6: Structures introduces struct, typedef, and self-referential structures (linked lists, binary trees). The chapter builds a word-frequency counter using a binary tree, then extends it with a hash table. Exercise 6-3 adds a cross-reference listing; 6-6 implements a rudimentary #define processor using a hash table — the most complex exercise in this chapter. These …