What is wrong with this code

#include
using namespace std;
char keypad[][10]={" ", “.+@$”, “abc”, “def”, “ghi”, “jkl” , “mno”, “pqrs” , “tuv”, “wxyz” };
void generate_names(char *inp,char *out,int i,int j)
{
if(inp[i]==’\0’)
{
out[i]=’\0’;
cout<<out<<endl;
return;
}
int digit=inp[i]-‘0’;
if(digit==0)
{
generate_names(inp,out,i+1,j);
}
for(int k=0;keypad[digit][k]!=’\0’;k++)
{ out[j]=keypad[digit][k];
generate_names(inp,out,i+1,j+1);
}
return;
}
int main() {
char inp[10];
cin>>inp;
char out[10];
generate_names(inp,out,0,0);
return 0;
}

@Kunalgoyal please share your code by saving it on ide.codingblocks.com

@Kunalgoyal do you have the original code that you wrote? Please copy and give that as a lot of characters here are changed due to formatting and the code is not running.

i have copied the original code only.

@Kunalgoyal you dont need the condition from line 13-16. besides that your logic seems fine. i am unable to run this code due to formatting issues, please write the code properly and share the updated one. (one example you can see in line 3 itself, im talking about the quoatation marks around the strings)

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.