#include <stdio.h>
test(char c);
int main(void)
{
int g=1;
printf("%d\n",test(g));
}
test(char c)
{
return c+1;
}
有这么一段代码,尽管编译器提示了错误,但是程序仍然能够正常运行
对于参数类型的不匹配,有一个解释是:函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参。
对于缺少被调函数的类型说明,但程序依然能够正常运行,实际上return在被调函数没有类型说明时默认返回int类型