第1个回答 2018-11-02
#include<stdio.h>
#include<string.h>
int main(void){
char i[64];
int j,k;
printf("请输入一个字符串:");
gets(i);
printf("你输入的字符串是:%s\n",i);
j=strlen(i);
printf("字符串长度是:%d\n",j);
printf("你输入的逆转结果:");
for (k=0;k<=strlen(i);k++){
printf("%c",i[--j]);
}
return 0;
}
第2个回答 2010-06-10
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char s[512];
char (*fun1)(char *src);
}func;
char *revers(char *src);
int main(void)
{
func *test=(func *)malloc(sizeof(func));
test->fun1=revers;
strcpy(test->s,"abc");
test->fun1(test->s);
printf("%s",test->s);
}
char *revers(char *src)
{
char *tmp=src; //使用tmp保留src
char *firstpos;
char *lastpos;
firstpos=src;//指向src第一个字符
while(*tmp != '\0') tmp++;
lastpos=tmp-1;//指向src最后一个字符
while(firstpos<lastpos)
{
/*交换,没有用中间变量*/
*firstpos=(*firstpos)+(*lastpos);
*lastpos=(*firstpos)-(*lastpos);
*firstpos=(*firstpos)-(*lastpos);
firstpos++;
lastpos--;
}
return src;
}
第3个回答 推荐于2016-06-05
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
char input[1024];
int len, i;
printf("Input string...\n");
gets(input);
len = strlen(input);
for (i = len-1; i>=0; i--)
{
printf("%c", input[i]);
}
printf("\n");
getch();
return 0;
}本回答被提问者采纳
第4个回答 2010-06-10
#include <stdio.h>
#include <string.h>
void main()
{
char arr[100],temp;
int i,arr_size;
puts("Input the string: ");
gets(arr);
arr_size=strlen(arr);
for (i=0;i<arr_size/2;i++)
{
temp=arr[i];
arr[i]=arr[arr_size-1-i];
arr[arr_size-1-i]=temp;
}
puts("The sorted string: ");
puts(arr);
}