·
『我是星 \ 我愿投身前途未卜的群星 \ 为梦长明 \ 让希望 \ 做我无声永存的墓志铭』 如无说明,本人作品均使用CC BY-NC-ND进行许可,代码使用MIT许可

因为两份代码并不等价

根据题主的代码写一个 test:

#include <stdio.h>

void delay_while() {
    puts("while:");
    unsigned char i = 200;
    unsigned char j = 200;
    while (i--)
        while(j--)
            printf("%d %d\n", i, j);
}

void delay_for() {
    puts("for:");
    unsigned char i = 200;
    unsigned char j = 200;
    for (i = 200; i > 0; i--)
        for(j = 200; j > 0; j--)
            printf("%d %d\n", i, j);
}

int main() {
    freopen("while.out", "w", stdout);
    delay_while();
    freopen("for.out", "w", stdout);
    delay_for();
    return 0;
}

int main() {
    delay_while();
    delay_for();
    return 0;
}

输出文件中,while.out50947 行,for.out40002 行。