具有不同数据类型的函数调用

wad*_*far 1 c types function-calls

这个程序的第7行不是"pay = prt(pay);" 应该抛出编译或运行时错误,因为它将int传递给需要double的param?我用dev-c ++编译好了,用两行输出运行程序.请解释一下,谢谢.

#include <stdio.h>
int prt(double b);
main ()
{
    int pay = 3;
    double tax = 2.2;
    pay = prt(pay);
    prt(tax);
}     

int prt(double b)
{
    b *= 2;
    printf("%.2lf\n", b);   
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*dle 6

在这种情况下,C将自动在不同的数字类型之间转换.

请参阅类似C语言的隐式类型转换.

  • 怎么样的c ++和java? (2认同)