#include <stdio.h>int main(){ int i,t=1; long s=0; for(i=1;i<=15;i++) { t=t*i; if(i%3==0) { s=s+t; } } printf("T=3!+6!+9!+12!+15!=%d\n",s);}
cfree计算结果为负数求解释
看不懂你的程序干啥的。
改为printf("T=3!+6!+9!+12!+15!=%u\n",s);
行不?
超出int范围了吧
printf("T=3!+6!+9!+12!+15!=%d\n",s);
就这句话的 %d 有问题,上面的算法正确
改了这个就好了