返回信息流#include<stdio.h>
void ysfj(int a); /*求数分解的函数的声明*/
int main()
{
int i;
printf("please input a integer number:\n");
scanf("%d",&i);
ysfj(i);
return 0;
}
void ysfj(int a)
{
int i;
for(i=2; i<=a/2;i++)
{
if(a%i==0)
{
printf("%d*",i);
ysfj(a/i);
return;
}
}
printf("%d\n",a);
}
请问子程序中return的作用是什么?怎么看都好像执行不到这一句,但去掉输出的结果又不对。拜谢各位大牛!
这是一条镜像帖。来源:北邮人论坛 / cpp / #32603同步于 2009/12/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]return的作用
huangji2060
2009/12/3镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
【 在 yihang 的大作中提到: 】
: 怎么会执行不到呢
: 当 a%i == 0时且 ysfj(a/i)返回时(比如i > a/2) 不就return了么
那么他return后是返回到什么地方呢?
返回 libc 里的 libc_start
运行的时候 main会以函数地址的形式被做为参数传给libc_start
【 在 huangji2060 的大作中提到: 】
: 那么他return后是返回到什么地方呢?