编写一程序实现将用户输入的一字符串一反向形式输出。如:输入abcdefg,输出:gfed

如题所述

#include<stdio.h>
void reverse_string(char *string)
{
/* 算法的关键是当两个指针相遇或擦肩而过时就停止 */
char *p;
/* 把p设置为指向字符串的最后一个字符 */
for(p=string;*p!='\0';p++);
p--;
/* 交换p和string所指向的字符,然后string前进一步,p后退一步,在两个指针相遇或擦肩而过之前重复整个过程 */
while(string<p)
{
char temp;
temp=*string;
*string++=*p;
*p--=temp;

}

}
int main(void)
{
char *str="gasd";
reverse_string(str);
printf("after reversed:%s\n",str);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-15
#include<iostream>
using namespace std;
void main()
{
char b[10],a[10];
for(int i=0;i<10;i++)
cin>>b[i];
for(i=0;i<10;i++)
cout<<b[i]<<"\t";
for(i=0;i<10;i++)
a[i]=b[10-i-1];
for(i=0;i<10;i++)
cout<<a[i]<<"\t";
}
第2个回答  2011-05-20
用数组作为变量正着将每个字母读入然后用循环反向输出
第3个回答  2011-05-15
for( i = 0; i < len; i++ )
{
outstring[i] = instring[len - i - 1 ];
}

注意 里面的-1 很重要。
相似回答