main函数输入一个长度小于20的字符
串,然后调用fun())函数将他逆序输
出。
注意:不是简单的逆序输出。要求内部
也要变成逆序。
举例:
输入123456A
当调用函数存储方式变为为A654321
然后将A654321输出
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char str[], char ptr[]);
int main()
{
char str[20];
char ptr[20];
printf("Input a string:");
gets(str);
fun(str,ptr);
printf("Inversed results:%s\n",ptr);
}
void fun(char str[], char ptr[]){
int n=strlen(str);
int i;
for(i=0;i<=n;i++){
ptr[i]=str[n-i-1];
}
ptr[i-1]='\0';
}
reverse现成的函数
在不就用数组逆序输出
要不用现成函数的话
void fun(char* instr)
{
size_t len = strlen(instr);
char* outstr = (char*)malloc(len+1);
memset(outstr,0, len + 1);
outstr += len-1;
while (*instr != '\0')
{
*outstr--=*instr++;
}
printf("%s\n",++outstr);
free(outstr);
}
int main()
{
char a[100] = "\0";
scanf("%s", a);
fun(a);
}
要用现成函数的话
int main()
{
char a[100] = "\0";
scanf("%s", a);
printf("%s\n",_strrev(a));
}