永发信息网

c语言中,函数形参和实参必须相同么?

答案:3  悬赏:60  手机版
解决时间 2021-01-16 03:03
  • 提问者网友:风月客
  • 2021-01-15 13:16
c语言中,函数形参和实参必须相同么?
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-01-15 13:55
可以相同但也可以不相同
  在程序执行的过程中,实参的作用域是主函数,只要程序没有停止,实参一直有效;形参是定义函数是引入的参数,系统只在该函数被调用时分配临时内存,当自定义函数执行完后,用于临时储存形参的空间将被释放。所以即使形参和实参的类型,名字完全一样,系统也能够把它们区分开。即可以完全一样。
  函数的形参和实参具有以下特点:


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


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


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


  4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化
全部回答
  • 1楼网友:患得患失的劫
  • 2021-01-15 17:00
变量名不同,但是个数要相同的
  • 2楼网友:轮獄道
  • 2021-01-15 15:34
不需要相同,两者只是传值的关系。
比如:int max(int a,int b){return a>b?a:b;}
调用用int x=1,y=2;int z=max(x,y);也可以
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯