K&R C Exercise 1-2: Escape Sequences in printf

Exercise 1-2. Experiment to find out what happens when printf‘s argument string contains \c, where c is some character not listed above. The escape sequences K&R lists in section 1.5 are: \n (newline), \t (tab), \b (backspace), \” (double quote), and \\ (backslash). The exercise asks what happens with everything else. Approach The key insight …

K&R C Exercise 1-1c: Reading gcc Error Messages

Exercise 1-1. Run the “hello, world” program on your system. Experiment with leaving out parts of the program to see what error messages you get. This page covers the error-experimentation part of Exercise 1-1. The baseline working program is in Exercise 1-1a. Here we deliberately break it five different ways — and more importantly, learn …

K&R C Exercise 1-1b: Experimenting with printf

Exercise 1-1. Run the “hello, world” program on your system. Experiment with leaving out parts of the program to see what error messages you get. This page covers the printf side of Exercise 1-1: what the format string actually does, how escape sequences work, and what happens when you modify or multiply printf calls. For …

K&R C Exercise 1-1a: The “hello, world” Program

Exercise 1-1. Run the “hello, world” program on your system. Experiment with leaving out parts of the program to see what error messages you get. This is the very first program in The C Programming Language by Kernighan and Ritchie — and for many people, the first C program they ever type. The exercise has …

Floyd-Warshall Algorithm in C – All-Pairs Shortest Paths

Floyd-Warshall algorithm finds the shortest paths between every pair of vertices in a weighted graph in a single O(V³) pass. While Dijkstra’s algorithm starts from one source vertex, Floyd-Warshall answers the all-pairs problem: “what is the shortest path from vertex i to vertex j for every i and j?” It uses dynamic programming — systematically …

N-Queens Problem in C – Backtracking Solution with All Solutions

The N-Queens problem asks: place N chess queens on an N×N board so that no two queens share a row, column, or diagonal. The standard C solution uses backtracking — place queens one row at a time, try every column in that row, recurse if the placement is safe, and undo (backtrack) if a dead …