818耶 2020-04-05 18:37 采纳率: 100%
浏览 145
已采纳

【C语言】题目,大一的知识点,指针,看不懂

1.算出程序运行结果

#include
void fun(char p,char b)
{ while(
(p++)!='\0');
while(*(p+1)<b)
(p--)=(p-1);
*(p--)=b;
printf("%s",p++);
}
int main()
{ char s[]="54679",c='3';
fun(s,c);
return 0;
}

这是书上练习,书上的答案是739,但我自己打代码是打的答案939,有大佬可以解释一下这是什么意思吗?我自己算出来的答案乱七八糟的,也不知道是书上的答案是不是正确的......
拜托大佬了谢谢!!

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-04-05 22:48
    关注

    你的代码有语法问题,如果是这样写

    #include <stdio.h>
    
    void fun(char * p,char b)
    { while(*(p++)!='\0');
    while(*(p+1)<b)
    *(p--)=*(p-1);
    *(p--)=b;
    printf("%s",p++);
    } 
    int main()
    { char s[]="54679",c='3';
    fun(s,c);
    return 0;
    }
    
    

    结果是
    939

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏