C语言数组删除相同的字符
时间: 2024-09-21 09:03:03 浏览: 41
在C语言中,直接删除数组中重复的元素并不是一个标准操作,因为数组一旦初始化,其长度通常是固定的。但是,你可以通过创建一个新的数组,遍历原数组并在新数组中插入唯一的字符来实现这个功能。这里是一个简单的示例,假设我们有一个字符数组`char str[]`:
```c
#include <stdio.h>
void removeDuplicates(char str[], char result[]) {
int j = 0; // 结果数组的索引
for(int i = 0; str[i] != '\0'; i++) {
if(result[j] == '\0' || str[i] != result[j]) { // 如果结果数组为空或者当前字符不同于结果数组最后一个字符
result[j+1] = str[i]; // 插入到结果数组
j++; // 更新结果数组索引
}
}
result[j] = '\0'; // 结束字符串
}
int main() {
char str[] = "hello world";
char result[strlen(str) + 1]; // 新数组大小稍大一点以防结果超出
removeDuplicates(str, result);
printf("去除重复后的字符串: %s\n", result);
return 0;
}
```
当你运行这段代码,它会打印出去重后的字符串。注意,这种方法保留了原始字符顺序。
阅读全文