请教各位高手关于函数原型以及调用函数的一个问题?

pww20055 2015-07-16 07:40:04
小弟不才有个问题有点疑惑,请大家帮忙!
#include<stdio.h>
int main()
{
int a.=3;
int n.c;
..........................statements;
..........................statements;
use( a,n);
return 0;
}
viod use(int m ,int n)
{
int i;
scanf("%d",&n);
for(i=0;i<n,i++)
printf("%d\n",m);
}
这里函数use里面的参数n在运行该函数的时候才会得到一个值,那么在调用use(a,n)的时候这个n是怎样传递给use函数的,或者说传递没有!会不会是只是把一个没有初始化的n传递给函数,?n在被调用的函数里面才会得到具体数值!这样写代码对吗?
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
灌水号 2015-07-18
  • 打赏
  • 举报
回复
有这样的疑问看一下汇编就可以了。
均陵鼠侠 2015-07-17
  • 打赏
  • 举报
回复
你到银行开户存钱。 银行复制了你的身份证, 你的身份证原件退回。 这就是参数传递的原理。
feiyunw 2015-07-17
  • 打赏
  • 举报
回复
use()函数中的参数n是传值进来的,use()执行完以后不会把修改传回去,即不会修改main()中n的值。 你要想改main()中n的值,就要传地址给use(),比如改成void use(int m, int &pInt)。 或者通过use()返回值传递也不错int use(int m, int n) { ... return n; };,然后main()中改为n = use(m, n)。
pww20055 2015-07-16
  • 打赏
  • 举报
回复
还有如果想要传递的n在被调用函数里面才赋值的话,是不是必须在前面先声明例如这里的int n,c;?如果把int n,c;换成int b,c;相应的use(a,n);换成use(a,b)会不会有问题?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧