为什么我的程序算阶乘是负数?20的阶乘是负数,9和10的是阶乘一样的
#include <stdio.h>int main(){ int i; int n; printf("Please input an integer:"); scanf("%d ",&n); for(i=1;i<n;i++) { n=n*i;} printf("n=%d",n); return 0;}
因为你的n设为整型,而20!的结果已经超出了C中整型数的范围了。你可以把n改为double型的,就不会出现负数了。
热门标签: