我的老师要求编写一个程序,使用递归函数打印每个数组元素的功能.
我的代码:
#include <stdio.h>
#include <conio.h>
void pow(int a[10],int i);
main()
{
int a[10],i,c=0;
printf("Enter 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("Power of elements in array:\n");
pow(a,c);
getch();
}
void pow(int a[10],int i)
{
if(i!=10)
{
printf("%d\n",a[i]*a[i]);
pow(a,i+1);
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我没有遇到任何问题.但是,当我将第三行最后一行 pow(a,i+1)更改 pow(a,i++)
为输出时,无数个.
任何人都可以解释一下为什么它最终会像这样?当我将i + 1改为i ++时究竟发生了什么?
先感谢您!