为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不是jackResult(x,y,z); 而是jackResult(a,b,c); ??

为什么不是jackResult(x,y,z);   而是jackResult(a,b,c);  ??

正在回答

4 回答

形参实参的概念再重新看下,估计你没搞懂。

0 回复 有任何疑惑可以回复我~
#1

iifyou 提问者

还是不太懂
2019-08-06 回复 有任何疑惑可以回复我~
#2

小小疾飞 回复 iifyou 提问者

https://www.imooc.com/code/5501
2019-08-06 回复 有任何疑惑可以回复我~
#3

iifyou 提问者 回复 小小疾飞

话说 怎么判断哪个是形参 哪个是实参?
2019-08-06 回复 有任何疑惑可以回复我~
#4

小小疾飞 回复 iifyou 提问者

形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数;实参是在调用时传递该函数的参数。
2019-08-06 回复 有任何疑惑可以回复我~
#5

iifyou 提问者 回复 小小疾飞

也就是说在 int main() 前面定义的函数都是形参 在int main()后面的函数都是实参?
2019-08-06 回复 有任何疑惑可以回复我~
#6

小小疾飞 回复 iifyou 提问者

这里有个箱子(函数),箱子给你的描述是放任意两瓶水进去可以混合起来,这里用x,y两个指代任意两瓶水。实际上,你把冰红茶和雪碧混合,这里冰红茶和雪碧用变量a和b来接收。a和b就是实参,举例子用的定义的x,y就是形参。很难理解吗?
2019-08-06 回复 有任何疑惑可以回复我~
#7

iifyou 提问者 回复 小小疾飞

嗯 那实参都是在int main()后赋值的?
2019-08-06 回复 有任何疑惑可以回复我~
#8

小小疾飞 回复 iifyou 提问者

实参是在调用时的参数。肯定在main函数里面。没有什么赋不赋值。 #include <stdio.h> int xxx(int x,int y) { return x+y; } int main() { int w; w=xxx(2,7); printf("%d",w); return 0; }
2019-08-06 回复 有任何疑惑可以回复我~
#9

iifyou 提问者 回复 小小疾飞

谢谢谢
2019-08-06 回复 有任何疑惑可以回复我~
#10

小小疾飞 回复 iifyou 提问者

基础要打好,理论文字要仔细看,
2019-08-06 回复 有任何疑惑可以回复我~
#11

iifyou 提问者 回复 小小疾飞

额嗯 有时候觉得看不懂?
2019-08-06 回复 有任何疑惑可以回复我~
#12

liuyuqing

为什么最后调用那里是jackResult(a,b,c); 而不是jackResult(x,y,z);
2020-02-10 回复 有任何疑惑可以回复我~
查看9条回复

形参就相当于初高中学的那种给你个公式,就x y 的那种,实参就是代入具体的值。我是这么理解的?

0 回复 有任何疑惑可以回复我~

首先,程序是从主函数开始运行的,就是main()函数,然后你是要求a=10,b=20,c=30三个数的平均值。求平均值要用到jackResult()函数,你要告诉jackResult()函数你要求均值的三个数是什么,那就要把a=10,b=20,c=30代入进去,自然在main()函数里面就要写jackResult(a,b,c)。此时,abc有确定的值,即为实参。

而在main()函数外面定义jackResult()函数时候,三个输入的数是未知的,定义为jackResult(x,y,z),你也可以将三个未知的数定义为任意三个变量,例如jackResult(e,f,g)。你可以把这个三个未知的数当做三个格子,随时准备装三个实数进去。因为当做格子没有实际数值,所以就是形参(无真实确定值)。

4 回复 有任何疑惑可以回复我~
#1

iifyou 提问者

懂了~谢谢~
2019-08-16 回复 有任何疑惑可以回复我~

形参和实参没搞懂,去看看前面的讲实参和形参的章节,里面已经讲得很详细了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么不是jackResult(x,y,z); 而是jackResult(a,b,c); ??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信