C Program to Check File Size – fseek/ftell and stat()

There are two standard ways to check file size in C: the portable fseek()/ftell() method that works with any FILE pointer, and the POSIX stat() method that reads file metadata without opening the file. This page covers both, with complete working programs, a comparison table, and when to use each. Method 1 — fseek() and …

Dining Philosophers Problem in C – pthreads and Deadlock Prevention

The Dining Philosophers problem is a classic synchronization puzzle introduced by Edsger Dijkstra to illustrate deadlock and resource contention. Five philosophers sit at a round table with a single fork between each pair of neighbors — five forks total. Each philosopher alternates between thinking and eating, but eating requires picking up both the fork on …

C Program to Print Prime Numbers in a Given Range – Trial Division and Sieve

This C program generates and prints all prime numbers in a given range and reports the total count. It uses an efficient is_prime() function with a √n bound, plus a Sieve of Eratosthenes for cases where you need all primes up to a large limit. Trial Division — Check Each Number in the Range For …

Infix to Prefix Conversion in C – Stack Algorithm with Code

Infix to prefix conversion in C turns an everyday expression like (A+B)*C into its prefix (Polish notation) form *+ABC, where every operator comes before its operands. Compilers and expression evaluators use prefix and postfix forms because they need no parentheses and no precedence rules to evaluate — the structure is unambiguous. The standard algorithm is …

K&R C Programs Exercise 7-9

Exercise 7-9. Functions like isupper can be implemented to save space or to save time. Explore both possibilities. Standard library character-classification functions like isupper are typically implemented as macros. There are two design axes: Save time: use a precomputed lookup table — one array access, no branches, O(1) at maximum cache efficiency Save space: use …

K&R C Programs Exercise 7-8

Exercise 7-8. Write a program to print a set of files, starting each new file on a new page, with a title and a running page count for each file. Print each file with a header line (filename + page number) at the top of every page. A page is LINES_PER_PAGE lines. When a page …