What is wrong in it one of my test case coming wrong

#include
#include
using namespace std;

void dup(char *a,int t){
if(t==strlen(a)) return ;

if(a[t]==a[t+1])
{
for(int i=strlen(a);i>t;i–)
a[i]=a[i-1];

a[t+1]='*';

}

dup(a,t+1);

return ;
}

int main() {
char a[2000];
cin>>a;
dup(a,0);
cout<<a;
return 0;
}

share code in cb ide