为什么输出会出现无限循环

时间:2016-03-26 13:47:44

标签: c int unsigned

为什么这个问题进入无限循环。对我来说应该是65001,65002 .... 65535。 Plesae elaborate.Thanks提前

#include<>
#include<stdio.h>
#include<conio.h>
int main()
{
 unsigned int i=65000;
 while ( i++ != 0 )
 printf("%d ",i);
 return 0;
 getch();
}

1 个答案:

答案 0 :(得分:3)

在现代系统中,unsigned int至少是32位,但是你期望16位。你没有无限循环,但它至少在2 ^ 32(4294967296)之前不会回旋。

相关问题