求解:用指针实现逆序,不定义其它变量,也不允许使用库函数
如题,实现void reverse(const char *s1,char *s2),我写了好几回了,每回都出错啊!麻烦各位大侠帮忙啦!先谢谢了!
#include <iostream> using namespace std; void reverse(const char *s1,char *s2) { char* q=s2; int n=strlen(s1); int i=0; const char* p=s1+n-1; while(i<n) { *q++=*p--; i++; } *q='\0'; } int main() { char* s="awdfdgdgdf"; cout<<s<<endl; cout<<"逆置后为\n"; int n=strlen(s); char* s1; s1=new char[n+1]; reverse(s,s1); cout<<s1<<endl; }
#include<stdio.h> char* reverse(const char *s1,char *s2) { *s2='\0'; s2--; while(*s1) *s2--=*s1++; //reverse(s1++,s2--); printf("%s\n",s2); return s2; } int main() { const char *str="12345"; char *sd; sd=(char *)malloc(sizeof(char)*20); sd=reverse(str,sd); printf("%s",sd); free(sd); getch(); return 0; }
#include<stdio.h> #include<conio.h> char* reverse(const char *s1,char *s2) { *s2='\0'; s2--; while(*s1) *s2--=*s1++; s2--; return s2; } int main() { const char *str="12345"; char *sd; sd=new char[6]; sd=reverse(str,sd+5); printf("%s",sd); getch(); return 0; }