m0_73593365 2022-11-04 17:27 采纳率: 94%
浏览 38
已结题

请问为什么没有输出,逆序

逆序

#include<stdio.h>
void  f(char *p){
int i=0;
while(*(p+i)!='\0'){
    i++;
}
int a=0;
int x=i-1;
char t;
while(x>i/2){
    t=*(p+a);
    *(p+a)=*(p+i-a);
    *(p+i-a)=t;
    a++;
    x--;
}

}
int  main(){
        char  st[20];
        scanf("%s",st);
        f(st);
        printf("%s",st);        
}

img


vbkkhcdsrghknbcxseyjkbhfesxhmkkhhvccseesvbjooknbxddguu

img

  • 写回答

4条回答 默认 最新

  • 於黾 2022-11-04 17:32
    关注

    首先,你想逆序,那要两两交换啊,两两交换会吧,想要交换a和b,你需要引入一个c
    c=a;
    a=b;
    b=c;
    这样才是交换,否则你是用后半截的值给前半截赋值,最后变成一个回文
    其次,i的最后位置是\0,你把\0给赋值到第一个字符了,那不就成了个空字符串吗,x=i-1才对呀

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 修改了问题 11月4日
  • 修改了问题 11月4日
  • 展开全部

悬赏问题

  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案