为什么这段代码num<=5时能算出正确结果,换成六以上的数就不对了?

#include<stdio.h>

int main()

{

    int num;

    char max;

    max=1;

    for (num=1;num<=5;num++)

    {

        max*=num;

    }

        printf("前十的乘积:%d\n",max);


    return 0;

}


qq_守夜人_11
浏览 1619回答 2
2回答

onemoo

max 是 char 类型啊,这个类型只占一字节,作为整型,就算是无符号整型,其中能保存的最大值也只是 255,存不开 6 以上的阶乘

慕粉1242266

用数组就行了
打开App,查看更多内容
随时随地看视频慕课网APP