突然网上搜到的,不知道为啥结果是这样…求高手解,该如何处理

突然网上搜到的,不知道为啥结果是这样……求高手解
C/C++ code

#include <stdio.h>

unsigned int i;

int main() {
  for (i = 4; i >= 0; i--) {
    printf("i = %d\n", i);
  }
}


不明白结果为什么不是4 3 2 1 0.

------解决方案--------------------
你在什么环境下编译的?在GCC下unisgned i; i>=0; 永远为真,
------解决方案--------------------
unsigned类型的值用于大于等于0,这是个死循环