问题在下面,刚刚怎么发也发不上来,只好这样来发了。
也不知道为什么,顺便请问发不了帖子的相关原因
[此贴子已经被作者于2007-9-22 21:29:36编辑过]
问题在下面,刚刚怎么发也发不上来,只好这样来发了。
也不知道为什么,顺便请问发不了帖子的相关原因
[此贴子已经被作者于2007-9-22 21:29:36编辑过]
2007-09-22 21:17
不是吧,上面那个可以啊~~~
我没有做错什么的啊,怎么会被封的啊~~~
2007-09-22 21:21
程序段如下:
#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编辑过]
2007-09-22 21:26
2007-09-22 22:01
难道大家看不到我发上去的程序和求助吗?
在 lg_mic的上一楼就是我的问题,但是外面显示的回帖数好像不对~~~
2007-09-22 22:12
2007-09-23 14:18
为了适应编译器,做了一点点关于不同标准的转换,运行后完全正确,谢谢啦。。。。。。
2007-09-23 14:21