0
#include<stdio.h>
int main() 
{
int num=0,num1;
do
{
num++;
num1=num+1;
}while(num1>num);
printf("\nthe largest +ve value int can have is:%d",num);
printf("\nthe largest -ve value int can have is:%d",num1);
}

输出: int 可以拥有的最大 +ve 值:2147483647 int 可以拥有的最大 -ve 值:-2147483648

问题是即使我采用“unsigned int”而不是“int”,结果也是一样的。

4

1 回答 1

4

那是因为您将其打印为整数 ( %d),而不是无符号整数 ( %u)。此外,您不需要循环来计算它 - 您可以使用limits.h:UINT_MAXINT_MAX / INT_MIN.

于 2013-04-24T11:26:41.147 回答