int arrayNum[] = {1,2,3,5};
void printArray(int nIndex)
{
int n = sizeof(arrayNum) / sizeof(arrayNum[0]);
int temp = arrayNum[nIndex];
//递归到最后一个元素,输出
if (nIndex == n -1)
{
for (int j=0; j<n; j++)
{
printf("%d ", arrayNum[j]);
}
printf("/n");
}
for (int i=nIndex; i<n; i++)
{
//将当前的值跟其后面的进行替换。例如:(将1,2互换),(1,3互换),(1,5互换)
arrayNum[nIndex] = arrayNum[i];
arrayNum[i] = temp;
printArray(nIndex + 1);
//恢复当前的值
arrayNum[i] = arrayNum[nIndex];
arrayNum[nIndex] = temp;
}
}