c语言 有些地方还是不清楚,

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:43:45
#include <stdio.h>
#define N 10

void fun(int b[],int n);
void main()
{
int b[10]={0,2,4,6,8,10,12,14,16,18};
int n=0;

fun(b,n);
}
void fun(int b[],int n)
{
if(b[n])
{
printf("%d",b[n]);
fun(b,n+1); //就是这里为什么要n+1啊??
printf("%d",b[n]);
}
}
/*为什么不是fun(b,n)???*/

递归,三楼请注意,这个程序如果n不加一的话会什么都不输出,因为b[0]=0,呵呵

呵呵 老兄呀 要是那个N不加一的话 那你的程序在某些情况之下还能运行吗?它其实就是个递进的过程了 呵呵

程序就是这么设计的,没有什么为什么。

你这个程序是打印数组里的内容,b[0],b[1],b[2]....n起到下标作用,如果不加一打印出来的只是b[0]

不想说了

同意四楼