C语言两个int型数据相乘,结果类型会默认变成long long int?

2025-04-05 21:33:47
推荐回答(2个)
回答1:

最好不要这样用int,容易出错,可以先返回a*b,再赋值之后进行c的赋值

运行结果

源码:

#include

int multiply( int a ,int b)

{

    return (a*b);

}

int main()

{

    int x, y, product,c;

    printf("please input two integers:");

    scanf("%d%d",&x, &y);

    product=multiply(x,y);

    printf("The product is %d\n", product);

    c=2000*product/(1920*1080);

    printf("c=%d\n",c);

    return 0;

}

回答2:

不是默认的,需要预先定义。
另外,乘积的结果不能大于 int 的定义域,否则会被系统截位,出现系统不提示的错误。