#include <stdio.h>
void fun(char *a,char B)
{
while(*(a++)!='\0');
while(*(a-1)<B)*(a--)=*(a-1);
*(a--)=B;
}
main()
{
char s[8]="pmfc",c;
c=getchar();
fun(s,c);
puts(s);
}
逐句注释如下:
//定义头文件
#include <stdio.h>
//fun函数
void fun(char *a,char B)//字符指针a 指向字符数组s B代表字符C
{
//while循环移动字符数组直到‘\0’终止
while(*(a++)!='\0');
//将a移动到数组尾时,取终止符'\0'前一个的内容*(a-1) 将其与B比较
while(*(a-1)<B)*(a--)=*(a-1); //如果小于 则将数组尾的值 赋值给数组a 之后进行a--
*(a--)=B;//如果大于 则将B赋值给数组a后 a--
}
//主函数
main()
{
//字符数组s 并存储字符串pmfc 定义字符变量c
char s[8]="pmfc",c;
//getchar()吸收一个字符
c=getchar();
//调用fun函数
fun(s,c);
//输出s
puts(s);
}
以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!