c语言中什么时候实参和形参应该不一样?
6个回答
展开全部
你的问题的意思不明确啊。简单为你说下吧。
形参是定义函数时的参数,目的是用来接收调用函数时的实参值。实参是调用函数时的参数,为函数对应的形参提供明确的数值或地址。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
形参和实参可以相同也可以不相同,但实参和形参在数量上,类型上,顺序上应严格一致。
例如:
int
process(int
a
,double
b)
//a,b为形参,没有具体数值
{
b=a*2;
return
b;
}
int
main()
{
int
a=1
;
double
b;
process(a,b);
//a,b为实参,a具体的值由main()中定义初始化的a对应传入,b由process的函数体计算可得。
printf("%f",b);
}
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
形参是定义函数时的参数,目的是用来接收调用函数时的实参值。实参是调用函数时的参数,为函数对应的形参提供明确的数值或地址。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
形参和实参可以相同也可以不相同,但实参和形参在数量上,类型上,顺序上应严格一致。
例如:
int
process(int
a
,double
b)
//a,b为形参,没有具体数值
{
b=a*2;
return
b;
}
int
main()
{
int
a=1
;
double
b;
process(a,b);
//a,b为实参,a具体的值由main()中定义初始化的a对应传入,b由process的函数体计算可得。
printf("%f",b);
}
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
展开全部
实参是系统分配存储单元的实际参数,形参是函数中形式参数,不分配固定存储单元,可以说是用完就消失(如果不是static等特殊一些的类型),它们没什么关联,所用字母一不一致都可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言函数使用值传递参数时,
形参和实参是不同的两个变量。
比如:
fun(int
x);
{
char
a
=
'a';
fun(a);
}
实参a是char型的,形参x是int
型的另一个变量。它们有各自的
存储空间地址,所以不同。
形参和实参是不同的两个变量。
比如:
fun(int
x);
{
char
a
=
'a';
fun(a);
}
实参a是char型的,形参x是int
型的另一个变量。它们有各自的
存储空间地址,所以不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
形参就是你定义的函数中的一个参数,可以在函数中使用
例如
void
Print(int
a,char
c)
{
printf("%d%c",a,c);
}
你可以在函数中使用它们
而他们的值是什么呢?
就是实参了
在你调用函数的时候
int
x
=
10;
char
ch
=
's'
Print(x,ch);
相当于
a
=
x
c
=
ch
也就是把实参的值赋给形参,然后对形参进行操作
名字可以随便取,可以相同也可以不同,这个无所谓,但由于是赋值操作他们必须属于同一个数据类型
不清楚追问我
例如
void
Print(int
a,char
c)
{
printf("%d%c",a,c);
}
你可以在函数中使用它们
而他们的值是什么呢?
就是实参了
在你调用函数的时候
int
x
=
10;
char
ch
=
's'
Print(x,ch);
相当于
a
=
x
c
=
ch
也就是把实参的值赋给形参,然后对形参进行操作
名字可以随便取,可以相同也可以不同,这个无所谓,但由于是赋值操作他们必须属于同一个数据类型
不清楚追问我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
形参就是你定义的函数中的一个参数,可以在函数中使用
例如
void
Print(int
a,char
c)
{
printf("%d%c",a,c);
}
你可以在函数中使用它们
而他们的值是什么呢?
就是实参了
在你调用函数的时候
int
x
=
10;
char
ch
=
's'
Print(x,ch);
相当于
a
=
x
c
=
ch
也就是把实参的值赋给形参,然后对形参进行操作
名字可以随便取,可以相同也可以不同,这个无所谓,但由于是赋值操作他们必须属于同一个数据类型。
例如
void
Print(int
a,char
c)
{
printf("%d%c",a,c);
}
你可以在函数中使用它们
而他们的值是什么呢?
就是实参了
在你调用函数的时候
int
x
=
10;
char
ch
=
's'
Print(x,ch);
相当于
a
=
x
c
=
ch
也就是把实参的值赋给形参,然后对形参进行操作
名字可以随便取,可以相同也可以不同,这个无所谓,但由于是赋值操作他们必须属于同一个数据类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |