运用指针,假定输入的字符串中只包含字母和+*+号。请编写函数+fun+,它的功能是:将字符串中的前导+*+号全部移到字符串的+尾部。+例如,字符串中的内容为*******A*BC*DEF*G****
时间: 2023-12-06 16:02:43 浏览: 84
fun的功能是进行数字字符转换,
5星 · 资源好评率100%
以下是C语言的实现,使用指针将前导*号移到字符串尾部:
```c
#include <stdio.h>
#include <string.h>
void fun(char *str) {
if (str == NULL) {
printf("data is error\n");
return;
}
int len = strlen(str);
char *p = str;
int count = 0;
while (*p == '*') { // 统计前导*号的个数
count++;
p++;
}
for (int i = 0; i < len - count; i++) { // 将非*号字符移到字符串前面
str[i] = str[i + count];
}
for (int i = len - count; i < len; i++) { // 将前导*号移到字符串尾部
str[i] = '*';
}
str[len] = '\0'; // 字符串结尾
}
int main() {
char str[] = "*******A*BC*DEF*G****";
fun(str);
printf("str is %s\n", str); // 输出:str is ABCDEFG*******
return 0;
}
```
阅读全文