#include<stdio.h>
int main ()
{
     char *start;
     char *end;
     int i=0;
     char arr[10]={0};
     int n=0;
     int j=0;
     scanf("%d",&n);
     if(n<0)
     {
          n=-n;
          arr[0]='-';
          j++;
     }
     start=&arr[j];
     while(n)
     {
          arr[j]=n%10+'0';
          n/=10;
          j++;
     }
     arr[j]='\0';
     end=&arr[j-1];
     while(start<end)                        //逆置数组
     {
         char temp;
         temp=*start;
         *start=*end;
         *end=temp;
         start++;
         end--;
     }
     printf("%s",arr);
     return 0;
}

方法二
#include<stdio.h>
void change(char *start, char *end)                 //逆置数组
{
	char temp;
	while(start<end)
	{
		temp=*start;
		*start=*end;
		*end=temp;
		start++;
		end--;
	}
}
void my_itoa(int n, char s[])
{
	char *start;
	char *end;
	if(n<0)
	{
		*s='-';
		n=-n;
		s++;
	}
	start=s;
	while(n)
	{
		*s=n%10+'0';
		s++;
		n/=10;
	}
	*s='\0';
	end=s-1;
	change(start, end);
	return 0;
}
int main()
{
	char arr[20];
	int num=0;
	scanf("%d",&num);
	my_itoa(num,arr);
	printf("%s\n",arr);
	return 0;
}