這是因為這個計算結果太大了,應該有幾百位數吧,如果以米為單位已經遠遠超過目前已知的宇宙直徑了,用天文數字也無法形容這個數的巨大了。而在PC機上,別說int類型(最大值為32767),就是雙精度浮點數double也無法精確表示這個數字。
如果是計算2*4*6*8*.....*40這倒是可以的:
#include?<stdio.h>int?main()
{
int?n?=?2; double?chengji?=?1; while?(n?<=?40) { chengji?*=?n; n?+=?2; } printf("積為%0.0f\n",chengji); return?0;}