C语言编程题,求编写一个函数,实现字符串逆置? 10
编写函数reverse,实现将一个字符串逆置。注意:请填写下面函数的{}部分。#include<string.h>voidreverse(char*x){}main(){...
编写函数reverse,实现将一个字符串逆置。注意:请填写下面函数的{ }部分。
#include<string.h>
void reverse(char *x)
{
}
main()
{
char p[]="hello";
reverse(p);
puts(p);
} 展开
#include<string.h>
void reverse(char *x)
{
}
main()
{
char p[]="hello";
reverse(p);
puts(p);
} 展开
2个回答
展开全部
#include <stdio.h>
#include <string.h>
void reverse(char *x)
{
char c;
int a=0,b=strlen(x)-1;
for(;a<b;a++,b--)
{
c=x[a];
x[a]=x[b];
x[b]=c;
}
}
int main()
{
char s1[]="",s2[]="a";
char s3[]="sd",s4[]="dfg";
reverse(s1);
reverse(s2);
reverse(s3);
reverse(s4);
printf("%s\n%s\n",s1,s2);
printf("%s\n%s\n",s3,s4);
return 0;
}
更多追问追答
追问
我这道题是填空题,填写函数部分。
追答
整个代码都给你了,复制你需要的部分不就行了吗?复制5-12行就行了。
更多追问追答
追问
有错,算不出来。
追答
我觉得是题出的有问题,我反复试了下。
下面的代码可以。
#include "malloc.h"
#include "string.h"
void reverse(char **x)
{
char *tmp;
char *tTmp;
char *s;
s = *x;
int len = strlen(*x);
tTmp = tmp = (char *)malloc((len + 1) * sizeof(char));
while (*s != 0)
{
s++;
}
s--;
while (s >= *x)
{
*tTmp = *s;
s--;
tTmp++;
}
*tTmp = 0;
*x = tmp;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *x = "Hello";
reverse(&x);
printf("%s", x);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询