c语言,函数fun的功能是在形参s所指字符中寻找与参数c相同的字符,并在其后插入一个与之相同的字符

c语言,函数fun的功能是在形参s所指字符中寻找与参数c相同的字符,并在其后插入一个与之相同的字符。例如若s所指字符串为“baacda”,c中的字符为a,则执行后s所指字符串为“baaaacdaa”

程序如下,我想问下黑色部分是什么意思

void fun(char * s, char c)
/* s 是所要操作的字符串数组的第一个元素的指针,起到传递数组作为参数的作用 */

{
int i,j,n;
/* 定义变量 */

for(i=0;s[i]!='\0';i++)
/* 历遍 数组s 并在到达数组结尾时退出循环,‘\0' 是c语言中字符串字面值(如:
* "aaa"、"baacda"等)的结束标志 */
if(s[i]==c)
/*判断是否与 c 相同*/

{
n=0;
/*初始化 n */
while(s[i+1+n]!='\0)

n++;
/* 求出 s[i] 离最后一个元素的距离,并把它赋值给 n,
* 即 n 的值为 s[i]后的元素的个数*/
for(y=i+n+1;y>i;y--)

s[y+1]=s[y];
/* 把 s[i] 后的字符(共有 n 个)全后移一位,为插入字符做准备 */
s[y+1]=c;
/* 插入字符(此时 y==i )*/
i=i+1;
/* 使 s[i] 跳过刚刚插入的字符 */
}

}

fun函数就是在 数组s 里找到与 参数c 相同的字符,把相同的字符后的元素都后移一位,

再把空出来的位置(即 相同的字符的后一位)赋值为 c.
希望能够帮助到你,望采纳!
温馨提示:答案为网友推荐,仅供参考