通过指针变量将字符串逆序,如“abc321”逆序后变为“123cba”。

2024-12-04 06:51:11
推荐回答(3个)
回答1:

#include"stdio.h"
#include"stdlib.h"
#include"string.h"
main()
{
int a=0,b=0,i=0;
char *p=NULL,
*temp=NULL;
for(;;)
{
if(a==b)
{
b+=2;
temp=(char*)malloc(b);
if(p)
{
for(i=0;i *(temp+i)=*(p+i);
free(p);
}
p=temp;
temp=NULL;
}
while(a *(p+a++)=getchar();
if(*(p+a-1)=='\n')
break;

}
*(p+a-1)='\0';
a=strlen(p);
temp=(char*)malloc(a+1);
for(i=0,--a;a>=0;a--)
*(temp+i++)=*(p+a);
*(temp+i)='\0';
printf("\n%s",temp);
free(temp);
free(p);
getch();
}
全部用指针操作。

回答2:

char str[] = "123456789";
if(sizeof(str)<2)
return -1;
char* strbeg = str;
char* strend = str+sizeof(str)-2;
char ch;
while(strbeg != strend && strbeg+1 != strend)
{
ch = *strbeg;
*strbeg = *strend;
*strend = ch;
strbeg++;
strend--;
}
printf("%s\n",str);

回答3:

为什么要用指针变量呢?不是有现成的函数嘛
string Mystring="abc321";
sTring MyNewString = MYstring.strreverse;

这个mynewstring 就是"123cba"了