编写函数将字符串中的前导*号全部移到字符串的尾部。用c语音
时间: 2023-12-05 14:04:45 浏览: 122
下面是一个将字符串中前导星号移动到字符串尾部的 C 语言函数实现:
```c
#include <stdio.h>
#include <string.h>
void move_star_to_end(char *str) {
int len = strlen(str);
int i, j;
// 找到第一个非星号字符的下标
for (i = 0; i < len && str[i] == '*'; i++) {}
// 将非星号字符移动到字符串开头
for (j = i; j < len; j++) {
if (str[j] != '*') {
str[i++] = str[j];
}
}
// 将剩余的位置填充星号
while (i < len) {
str[i++] = '*';
}
}
int main() {
char str[] = "***hello***world*";
move_star_to_end(str);
printf("%s\n", str);
return 0;
}
```
以上代码中,我们首先使用 `strlen` 函数获取字符串的长度,然后使用两个循环将字符串中的星号移动到末尾。具体来说,第一个循环将指针 `i` 移动到第一个非星号字符的位置,第二个循环将非星号字符移动到字符串的开头,最后一个循环将剩余的位置填充星号。
阅读全文