c语言1~100求偶数积

c语言里求1~100偶数积,我的运行结果是0,这个要怎么整呢?

img

img

因为计算过程中fact超出了int类型的范围,当fact超出范围后,高位的1会被自动截掉,最后导致fact等于0;可以将fact的类型定义为double:

#include <stdio.h>

int main()
{
       int n;
    double fact = 2;
    for (n = 4;n <= 100;n=n+2)
        fact = fact * n;
    
    
    printf("fact=%1f", fact);
   
   return 0;
}


img

把fact的数据类型改成long long试试,有可能溢出了,有帮助的话采纳一下哦!

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^