[求助]为什么这个程序没有循环语句却能循环啊?
/* Note:Your choice is C IDE */#include "stdio.h"
main()
{
int sum,n;
scanf("%d",&n);
sum=fun(n);
printf("sum=%d\n",sum);
}
int fun(int n)
{
int s;
if(n==1)aiy
s=1;
else
s=fun(n-1)+n;
return s;
}
这个程序的作用是把输入一个值N,求N以前的所有正整数的和。红色部分是调用的函数,这里我有个疑问,为什么调用函数里没有循环语句却能够循环呢?譬如我输入N值为6,所以s=fun(5)+6=fun(4)+5+6=...=fun(1)+....+5+6=1+...+5+6这种情况通常是我在使用了for或者while语句才能实现的啊,为什么这里没有循环语句却能够循环呢?我问过了一下同学他又说不是循环,真是晕啊~~