收起
C语言阶乘,超过20出错,因为常用的int(通常4字节)或long(通常8字节)变量存储范围有限。20的阶乘约2.4e18,接近8字节long的上限,而21的阶乘超过范围,会触发溢出,导致结果错误;20以内阶乘数值较小,未超出变量存储上限,所以计算正常。
报告相同问题?