C语言有以下字符串:****A*BC*DEF****,删除字符串中间的星号,得到如下结果:****ABCDEF****
时间: 2023-09-05 12:06:51 浏览: 184
精选_基于C语言实现的字符串比较-字符串删除首尾星号-商品管理系统_源码打包
你可以使用以下C语言代码来删除字符串中间的星号:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "****A*BC*DEF****";
int len = strlen(str);
int i, j = 0;
for (i = 0; i < len; i++) {
if (str[i] != '*') {
str[j++] = str[i];
} else if (i > 0 && i < len - 1 && str[i-1] == '*' && str[i+1] == '*') {
str[j++] = str[i];
}
}
str[j] = '\0';
printf("%s\n", str); // Output: ****ABCDEF****
return 0;
}
```
上述代码的基本思路是遍历字符串,将不是星号的字符拷贝到另一个位置,如果中间有连续的星号,则只拷贝一个星号。最后将拷贝后的字符串末尾置为结束符`\0`。
阅读全文