c语言删除数组12345中的2元素
时间: 2024-09-07 14:04:53 浏览: 42
C语言 - 删除数组中的指定元素(Delete).pdf
在C语言中,如果你想从整数数组`12345`中删除特定的元素,比如数字`2`,由于数组是一段连续的内存空间,并且不允许直接修改长度,通常的做法是创建一个新的数组来替换原数组,移除想要删除的元素。
下面是一个简单的示例,我们创建一个新的数组`new_arr`,遍历原数组,如果遇到不是`2`的元素就复制到新数组中:
```c
#include <stdio.h>
void delete_element(int arr[], int size) {
int i = 0;
for (int j = 0; j < size; ++j) {
if (arr[j] != 2) {
new_arr[i++] = arr[j];
}
}
new_arr[i] = '\0'; // 添加终止符以表示新的数组长度
// 将原数组替换为新数组
for (i = 0; i < i; ++i) {
arr[i] = new_arr[i];
}
}
int main() {
int old_arr[] = {1, 2, 3, 4, 5};
int size = sizeof(old_arr) / sizeof(old_arr[0]);
int new_arr[size]; // 初始化新数组
printf("Original array: ");
for (int i = 0; i < size; ++i) {
printf("%d ", old_arr[i]);
}
delete_element(old_arr, size);
printf("\nArray after deleting '2': ");
for (int i = 0; i < size; ++i) {
printf("%d ", old_arr[i]);
}
return 0;
}
```
运行上述代码后,你会看到原始数组变为`1 3 4 5`,其中`2`已被删除。
阅读全文