#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值为:2147483647int所能拥有的最大-ve值:-2147483648
问题是,即使我用"unsigned int"代替"int",结果也是一样的。
这是因为您将其打印为整数(%d
),而不是无符号整数(%u
)。同样,您不需要一个循环来计算这个—您可以使用limits.h
: UINT_MAX
和INT_MAX / INT_MIN
。