永发信息网

C语言-字符串反序存放

答案:4  悬赏:30  手机版
解决时间 2021-03-27 04:08
  • 提问者网友:寂寞撕碎了回忆
  • 2021-03-26 12:56
C语言-字符串反序存放
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-03-26 13:42
在你源代码基础上修改如下:

#include
#include
int len;
void fanxu(char c[100])
{
int i,t;
for(i=0;i {
t=c[i];
c[i]=c[len-i-1];//c[]最后一位是\0,不能用来交换。
c[len-i-1]=t;
}
}
void main()
{
char c[100];
scanf("%s", c);
len=strlen(c);
fanxu(c);
printf("%s", c);
}
全部回答
  • 1楼网友:玩世
  • 2021-03-26 17:32
len=strlen(c);
scanf("%s",c);
这两句位置应该调换,因为你先读了字符串才能算出他的长度。
还有,字符串好像没这样返回的,其实你调用函数,实际上是传引用调用,已经对字符串进行了改变,无需再返回。 你的子函数只需这样修改
void fanxu(char c[100]){
int i,t;
for(i=0;i t=c[i];
c[i]=c[len-i];
c[len-i]=t;
}
}就ok了
  • 2楼网友:長槍戰八方
  • 2021-03-26 16:06
#include
#include
char *fanxu(char c[])
{
int i,len;
char temp;
len = strlen(c);
for(i=0;i{
temp=c[i];
c[i]=c[len-i-1];
c[len-i-1]=temp;
}
return c;
}
void main()
{
char c[100];
scanf("%s",c);
printf("%s",fanxu(c));
return c;
}
  • 3楼网友:零点过十分
  • 2021-03-26 15:12
#include
#include
#include
int len;
int main(){
char fanxu(char c[100]);
char c[100]={0};
scanf("%s",c);
len=strlen(c);
fanxu(c);
printf("%s",c);
system("pause");
}
char* fanxu(char c[100]){
std::reverse(c,c+len);
return c;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯