[求助]请大家帮忙解决些疑惑:关于实参和形参的,谢谢!
问题在下面,刚刚怎么发也发不上来,只好这样来发了。
也不知道为什么,顺便请问发不了帖子的相关原因
[此贴子已经被作者于2007-9-22 21:29:36编辑过]
程序段如下:
#include <stdio.h>
#include <conio.h>
int main(void)
{
int s(int n);
int n;
int m;
printf("Input a number n:");
scanf("%d",&n);
m=s(n);
printf("n=%d\n",n);
printf("m=%d\n",m);
getch();
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}
主调函数中如果没有红色的那一段没有问题,即被调函数不向主调函数返回函数值,因此此时应该可以将被调函数int s(int n)改成空函数 void s(int n);但是在加了上述红色一段之后,被调函数应该向主调函数返回函数值(不知道对不对这样说),但是编译运行的结果如下:
Input a number n:7
n=28
n=7
m=5
我不明白为什么最后m=5是怎么来的?
另外,将被调函数int s(int n)改成空函数 void s(int n)后,为什么输出还是一样?
即为什么m还会有同样的输出,此时不应该没有返回值吗?
我就是发这个发不上去啊~~~~~
[此贴子已经被作者于2007-9-22 21:27:29编辑过]