C语言的一个问题,求大家帮帮忙

为什么这个变量范围在999及以内但输出结果有四位数?
输出结果是:153,370,371,407,1000,10001


```c
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main () {
    int one, two, three, four;
    
    for (four = 100; four = four + 1; four <= 999) {
        two = four / 100; //百位

        three = four / 10 % 10; //十位

        one = four % 10; //个位

        if (four == two * two * two + three * three * three + one * one * one) {
            printf("%d\n", four);
        }
    }

    system("pause");

    return 0;

}


第10行: for (four = 100; four = four + 1; four <= 999) 条件语句 和 自增语句 放错位置了,互换下:
for (four = 100; four <= 999;four = four + 1)

你语法错了,第10行的for改成

for (four = 100; four <= 999;four = four + 1)