C语言形参和实参的区别? 10

intQE(inta,intb){a=1;b=1;}voidmain(){intx;inty;QE(x,y);printf("%d,%d"x,y);}... int QE(int a, int b)
{
a=1;
b=1;
}

void main()
{
int x;
int y;
QE(x, y);
printf("%d,%d"x,y);
}
展开
 我来答
IT168
2022-11-08 · 百度认证:IT168官方账号,优质数码领域创作者
IT168
IT168是中国最大的个人和企业IT产品选购、互动网站,每日提供最新的IT产品报价、促销行情、手机、平板、笔记本、相机和企业等50个频道提供最专业的产品选购和使用建议。
向TA提问
展开全部
有以下区别:
1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
百度网友fc027fc
2015-08-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:785万
展开全部
形参,就是定义函数时的参数。
实参,就是调用函数时候传给函数的参数。

printf("%d,%d"x,y);应改为 printf("%d,%d",x,y);
但是函数QE并不会改变x和y的值。
需要使用指针。
int QE(int* a,int *b)
{
*a =1;
*b=2;
}

调用的时候,
QE(&x,&y);
追问
int QE(int  a,int  b)不修改还可以怎么改?
追答
可以使用全局变量,在哪里都能修改全局变量的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式