我写了一个递归函数,该函数应该能把一个指向数组的指针相加并把相加后的指针反回,函数实现如下,请高手帮忙看一看是否正确?#include "stdafx.h"
void a(char **ppc,int *inumber)
{
if(*inumber==1)
{
(*ppc)++;
}
else
{
(*inumber)--;
(*ppc)++;
a(ppc,inumber);
}
return ;
}int main(int argc, char* argv[])
{
char c[100],*pc;
int inumber=3;
pc=c;
pc++;
a(&pc,&inumber);
pc++;
return 0;
}
void a(char **ppc,int *inumber)
{
if(*inumber==1)
{
(*ppc)++;
}
else
{
(*inumber)--;
(*ppc)++;
a(ppc,inumber);
}
return ;
}int main(int argc, char* argv[])
{
char c[100],*pc;
int inumber=3;
pc=c;
pc++;
a(&pc,&inumber);
pc++;
return 0;
}
是不是應考慮一下inumber小于等于0的情況
char c[100],*pc;
int inumber=3;
pc=c;
pc++;
//a(&pc,&inumber);
pc+=inumber;//<--
pc++;
return 0;