-6
for(a[9]=0;a[9]<16;a[9]++)

for(a[8]=0;a[8]<16;a[8]++)

for(a[7]=0;a[7]<16;a[7]++)

for(a[6]=0;a[6]<16;a[6]++)

for(a[5]=0;a[5]<16;a[5]++)

for(a[4]=0;a[4]<16;a[4]++)

for(a[3]=0;a[3]<16;a[3]++)

for(a[2]=0;a[2]<16;a[2]++)

for(a[1]=0;a[1]<16;a[1]++)

for(a[0]=0;a[0]<16;a[0]++)

i++;
4

1 回答 1

2

下面的逻辑将帮助您将嵌套的 for 循环转换为递归函数。但是不要for在代码中不必要地添加这么多的嵌套循环。即使在编写小程序时也需要考虑性能。

int i = 0; //make it as global variable
...
void func(int a[], int index)
{
   for (a[index] = 0; a[index] < 16; a[index]++)
   {
       if (index != 0)
       {
           func(a, (index - 1));
       }
       else
       {
           i++;
       }
   }
}
于 2013-01-21T15:55:05.650 回答