字符串反序输出,实在搞不定了。
1,要求用函数解。 2,通过 char* Reverse(char*)的形式,传递返回字符指针。
3,解是用strcpy这样的函数,拷进来,然后反序赋给另一个数组,返回指针。
我就认为用指针直接可以解,结果被字符串结束符困住了。debug在函数内都正常,一返回变成乱码!VC6 在dev c++中无输出。 多谢了
#include <iostream>
#define size 5
using std::cout;
using std::cin;
using std::endl;
char* Reverse(char*);
int main()
{
char a[size];
int i=0;
cout<<"Enter a string: ";
for(; i<size; i++)
{ cin>>a[i]; }
a[i]='\0'; //非要这个,否则乱码
cout<<"The string you input is: "<<a<<endl;
cout<<endl;
cout<<"The Reversed string is : "<<Reverse(a);<<endl;//返到这一行就乱
cout<<endl;
system("pause");
return 0;
}
char* Reverse(char* t)
{
char temp[size];
t+=size-1; //指向最后一个字符
for(int i=0; i<size; i++)
{ temp[i]=*t--; }
temp[i]='\0'; //没有这一行也是乱码
t=temp;
return t; //用DEBUG,一直到这里都是正常,但一返回。。
}