形参和实参类型可以不一样吗

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:9066万
展开全部

形参和实参类型可以不一样,但同时可能引起类型不匹配错误。

函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参。

实参和形参在数量上,类型上、顺序上应严格一致,否则就可能发生类型不匹配的错误。变量或属性类型错误。例如,一个整型值的变量不能赋给字符串值,除非整个字符串可识别成为整型。尽量在兼容的数据类型间赋值。例如,Integer 可以被赋给 Long,Single 可以被赋给 Double。

扩展资料:

形参和实参的特点:

1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。

3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。

4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。

参考资料来源:百度百科-形参

参考资料来源:百度百科-强制类型转换

参考资料来源:百度百科-类型不匹配

意法半导体(中国)投资有限公司
2023-06-12 广告
可以相同 只是 你的形参将被实参屏蔽掉 这样的话 你定义的函数中的实参是未知数 (编译器临时给你的值 不能控制) 根据你定义函数的意义 可以把实参的定义删掉 double sum(int a,int b,int c,int d,int e,... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式