#include<stdio.h>
#include<string.h>
void reversestring(char * b,int count)
{
char c=0;
int i=0;
int size;
//注意第一个下标从0开始
size=count-1;
if (size==0 || size==1)
//地址不变
b=b;
for(;i<=size;i++)
{
// 字符串不可以用来等价 用一个字符替代
c=b[i];
b[i]=b[size];
b[size]=c;
size--;
}
printf("反转后的字符串:");
puts(b);
}
void main()
{
int count;
char a[1024];
printf("输入字符串:");
// gets()输入一串字符串
gets(a);
count=strlen(a);
printf("长度:%d\n",count);
reversestring(a,count);
}
或者:
#include<stdio.h>
#include<string.h>
#define N 80
void main()
{
char str[N];
int i;
gets(str);
for(i=strlen(str)-1;i>=0;i--)
printf("%-c",str[i]);
printf("\n字符串反转完成\n");
}