c语言编辑字符串删除重复字符
时间: 2023-06-19 21:04:48 浏览: 139
你可以使用一个指针变量来遍历字符串,同时使用另一个指针变量来存储非重复的字符。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void removeDuplicates(char *str) {
int len = strlen(str);
int i, j, k;
// 遍历字符串
for (i = 0; i < len; i++) {
// 检查当前字符是否已经出现过
for (j = 0; j < i; j++) {
if (str[j] == str[i]) {
break;
}
}
// 如果当前字符没有出现过,则将其添加到新字符串中
if (j == i) {
str[k++] = str[i];
}
}
// 在新字符串结尾添加 '\0'
str[k] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
removeDuplicates(str);
printf("删除重复字符后的字符串为:%s\n", str);
return 0;
}
```
在这个程序中,我们首先使用 `strlen` 函数获取字符串的长度,并且使用两个指针变量 `i` 和 `j` 来遍历字符串。变量 `k` 用来指示新字符串的长度,并且在遍历过程中不断增加。
在内部循环中,我们检查当前字符是否已经出现过。如果是,就跳过这个字符,否则就将其添加到新字符串中。
最后,我们在新字符串结尾添加 '\0',以确保它是一个有效的 C 字符串。