c 形参与实参
来源:百度知道 编辑:UC知道 时间:2024/06/07 07:45:43
void main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
getch();
}
怎么输出结果还是n=5050
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
getch();
}
怎么输出结果还是n=5050
大概知道你要表达的意思
小小程序错误真多!!
void main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n); //应该在前面进行定义
printf("n=%d\n",n); //你没有返回,所以这里的n输出的还是你输入的值;
}
int s(int n) //该函数为int类型 函数要有return
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
getch();
}
把s(n);改成
n=s(n);
要不返回改变变量值的话要用指针传递
如果不用指针 用数值传递的话
就好比我们两个人
你告诉我n=100
然后我经过计算得出一个新的n值
但我没有告诉你(相当没有return)
你也还是认为n=100并不知道我计算过后的n值
但是通过指针传递的话
就相当于你知道我的计算过程
所以就算我不告诉你你也知道答案
这只是很土的解释,具体看书吧
如果输入100的话,输出会是100,如果你想调用函数成功的话,可以改函数int s(int &n)