c语言编程问题,为什么程序执行到return 1是不是把1返回给主函数,而是把1返回给factor

2024-12-16 08:12:32
推荐回答(4个)
回答1:

嗯,是这样的,不过return只能退出当前函数,如果多个函数嵌套就不行了,要想整个退出用exit 例如: fun1() fun2() main() 此时main函数调用fun2,然后fun2调用fun1,fun1直...3144

回答2:

因为factor函数被调用,他运行的返回值是1,而main函数运行的返回值为0

回答3:

当迭代到n==2时,这时语句为return fatorial(1)*2
这时,只要知道fatorial(1)的值就会结束迭代,而当n==1时,函数为fatorial(1),而这时语句为return 1,意思是把1返回给fatorial(1),而内存中等待fatorial(1)的值,当给了1,立即返回整个迭代的总值

回答4:

你这样看吧,假设n==5,那调用factorial(n),返回的是什么?
返回的是n*factorial(n-1),而不是1吧。
也就是说主函数获取的结果就是n*factorial(n-1),然后就是一个递归循环