Difference Between for loop and while loop in C

1. Introduction

In C programming, loops are a fundamental concept used for executing a set of instructions repeatedly. The for loop and the while loop are two types of loops that serve this purpose, each with its own use cases and syntax.

2. Key Points

1. for loops are typically used when the number of iterations is known before entering the loop.

2. while loops are used when the number of iterations is not known and the loop continues until a condition is met.

3. for loops integrate initialization, condition checking, and increment/decrement in one line.

4. while loops separate the initialization and increment/decrement from the loop's condition check.

3. Differences

for Loop while Loop
Syntax integrates initialization, condition, and iteration expression. Initialization and iteration are done outside the loop's syntax.
Used when the number of iterations is known. Used when the loop needs to run until a condition is met, regardless of the number of iterations.
More concise for counting and iterating over a range of values. More flexible, suitable for situations where iterations depend on dynamic conditions.

4. Example

#include <stdio.h>

int main() {
    // for loop example
    printf("for loop output:\n");
    for (int i = 0; i < 5; i++) {
        printf("%d ", i);

    // while loop example
    printf("while loop output:\n");
    int i = 0;
    while (i < 5) {
        printf("%d ", i);

    return 0;


for loop output:
0 1 2 3 4
while loop output:
0 1 2 3 4


1. The for loop example initializes i to 0, runs until i is less than 5, and increments i in each iteration.

2. The while loop example initializes i outside the loop, checks the condition i < 5, and increments i inside the loop body.

5. When to use?

- Use a for loop when you know in advance how many times the loop should run, such as iterating over fixed ranges of values.

- Use a while loop when the number of iterations is not known beforehand and the loop should continue until a specific condition is met.

Difference between malloc() and calloc()?

Difference between Local Variable and Global Variable in C

Difference between Global and Static Variables in C

Difference Between Call by Value and Call by Reference in C

Difference Between getch() and getche() in C

Difference between printf() and sprintf() in C

Difference between Arrays and Pointers in C

Difference between Structure and Union in C

Difference Between Stack and Heap Memory Allocation in C

Difference Between Macro and Function in C

Difference between = and == in C

Difference Between for loop and while loop in C

Difference Between Linked List and Array in C

Difference between fgets() and gets() in C

Difference between ++i and i++ in C

Difference between struct and typedef struct in C

Difference between int main() and void main() in C

Difference between Character Array and String in C

Difference between break and continue in C

Difference between exit() and return in C