無符號long long fact(int n);
int main(void)
{
int num
printf(" native:ULLONG _ MAX = % llu \ n ",ULLONG _ MAX);
Printf("請輸入不大於20的正整數:");
while(scanf("%d ",& ampnum) == 1)
{
if(num & lt;0)
Printf("不能為負!\ n ");
else if(num & gt;20)
Printf("數據不能大於20!\ n ");
其他
{
Printf ("Compute %2d!結果:%llu\n ",數字,事實(數字));
printf(" \ n ");
}
Printf("請輸入不大於20的正整數:");
}
Printf("\n再見!\ n ");
返回0;
}
無符號長整型數值(int n)
{
無符號long long ans
for(ans = 1;n & gt1;n -)
ans * = n;
返回ans
}
註意:printf(" native:ULLONG _ MAX = % llu \ n ",ULLONG _ MAX);
是檢測機可以容納的最大無符號整數,所以n的階乘不能超過這個值。
編譯器必須符合c99規範。