这后两个while循环的作用是什么?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

img

第一个就是统计字符串开头有多少个*号。
第二个是将非前导 * 号后的所有字符复制到a数组

1.第一个循环,n记录前导数量。p指针偏移到第一个非前导的位置
2.第二个循环,i表示a的偏移,将非前导的所有字符逐位复制到a的最前面。
3.第三个循环,将a的后n位全部赋值为
,达到转移的目的。