题目描述:
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符
串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
详细代码:
#include<stdio.h>
#include<string.h>
void fun(char* s, int n);
int main()
{
char a[20] = "**ajkh**akj******";
int k = 3;
fun(a, k);
puts(a);
}
void fun(char* s, int n)
{
int len = strlen(s), p = 0;
char* a = s;
for (int i = len - 1;;i--)
{
if (*(s + i) != '*')
{
break;
}
else
p++;
}
//printf("%d\n", p);
if (p > n)
{
for (int i = 0;i < len - p + n;i++)
{
*s = *(a + i);
s++;
}
}
*s = '\0';
}
/*此段代码的调试环境为VS2019*/