Look at your code.
You add one to the FIRST character in the string:
x[i]=x[i] + 1;
So the string becomes "223". Then you work out your carry:
carry=x[i]/10;
which ... doesn't do what you think it does...
x[i] is a char value, and contains '2' - that is not the same a the value 2, it's a character, so it actually has the value 50 as a number:
Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion[
^]. So when you divide that by ten, you get 5.
The rest of your code just messes up the string because you haven't realised what the difference between characters and numbers are.
Now, I have no idea what that code is supposed to do, so I definitely can't fix it for you - and wouldn't if I could, this is your homework after all, not mine. So I would suggest you go back to eth original problem statement your tutor gave you and read it again, really carefully - this code will almost certainly not do anything like what you want it to!