#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);
}
输出: 最大的+ ve值int可以有:2147483647 最大的-ve值int可以有:-2147483648
问题是即使我使用“unsigned int”而不是“int”,结果也是一样。
答案 0 :(得分:4)
那是因为你将它打印为整数(%d
),而不是无符号整数(%u
)。此外,您不需要循环来计算 - 您可以使用limits.h
:UINT_MAX
和INT_MAX / INT_MIN
。