c语言的形参和实参问题

main(){intn;printf("inputn=");scanf("%d",&n);s(n);printf("%d\n",n);}ints(intn){inti;f... main(){ int n; printf("input n= "); scanf("%d",&n); s(n); printf("%d\n",n);}int s(int n){ int i; for(i=n-1;i>=1;i--) n=n+i; printf("%d\n",n);}这个程序没问题....运行的结果为:input n= 1005050100我看的是谭浩强的那个教材,按照他说的,实参不变也应该是100,而形参为0...可是我这个实参怎么变成5050了?而且形参没变,是初始值100?请问我有说错吗,有请指出,,谢谢指导!还有,这个实参和形参的问题也请说明下,谢谢~! 展开
 我来答
sexboy808
2009-09-02
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
你的程序没有问题,我认为:你的错误想法来自于你的程序写的不够好看,下面是我对你的改写,同时加上了注释:希望你一看就懂,不是太难的
//---------------------------
#include<stdio.h>
void s(int m); //函数声明:把形参设成m ,为了不跟实参n 混起来
int main(){
int n; printf("input n= ");
scanf("%d",&n);
s(n);
printf("实参n=%d\n",n);} //实参确实没变- -
//------------------------------------------
void s(int m){
int i;
for(i=m-1;i>=1;i--) m=m+i;
printf("形参m=%d\n",m);

}
结果是如下:
input n= 100
形参m=5050
实参n=100
Press any key to continue
1.m形参说明:这个是形参,开始由n赋值给它为100,for之 后为5050 ,s(int)函数结束之后 这个形参在内存中消失!
2.n实参说明 -------------这是实参 确实不会变!还是100

//=========================================================
/*抄自楼主:
这个程序没问题....运行的结果为:
input n= 100
5050
100
我看的是谭浩强的那个教材,
按照他说的,实参不变也应该是100,
而形参为0...可是我这个实参怎么变成5050了?而且形参没变,
是初始值100?请问我有说错吗,
有请指出,,谢谢指导!还有,这个实参和形参的问题也请说明下,谢谢~! */
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
冰至诚
2009-09-02 · TA获得超过3007个赞
知道小有建树答主
回答量:1156
采纳率:0%
帮助的人:1092万
展开全部
实参确实没有改变,你仔细看下程序,它在调用的函数中直接将1—100累加后打印出来,并没有改变实参的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郗雁卉相梧
2019-11-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:552万
展开全部
void
main()
{
display(4,5);//带入方法内的实际参数就的实参了
}
display(int
y,int
x)
//x,y就是形式参数(形参)
{
}
很容易理解的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奚翰墨慎剑
2020-03-27 · TA获得超过2.9万个赞
知道小有建树答主
回答量:9774
采纳率:28%
帮助的人:831万
展开全部
从语法意义上说,形参是函数内部为外部传进来的参数取的名称,而实参则是函数外部准备传给函数的参数的名称,这两个是相对的
从内存意义上说,形参是函数内的内存空间,实参是函数外的内存空间,每次调用都要将实参从函数外空间复制到函数内内存空间,因此改变形参的值对于实参一点影响也没有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式