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

問題は、「int」の代わりに「unsigned int」を使用しても結果が同じであることです。

4

1 に答える 1

4

%dこれは、符号なし整数 ( ) ではなく、整数 ( )として出力しているためです%u。また、これを計算するためにループは必要ありません - limits.h:UINT_MAXINT_MAX / INT_MIN.

于 2013-04-24T11:26:41.147 に答える