02-Issue-27-移除元素
题目描述
源码
/*2.移除元素 2022年1月28日21:24:24*/
#include <stdio.h>
int removeElement(int* nums, int numsSize, int val){
int i,j;
for(int i = 0; i < numsSize; i++){
if(nums[i] == val){
for(j = i; j < numsSize - 1; j++){
nums[j] = nums[j + 1];
}
i--;//这里出现错误 纠正:因为下标i以后的数值都向前移动了一位,所以i也向前移动一位
numsSize--;//这里出现错误 纠正:此时数组的大小-1;没有该语句,将会出现死循环
}
}
return numsSize;
// for(i = 0; i < 8; i++){//打印数组
// printf("%d,",nums[i]);
// }
}
int main(){
int a[8] = {0,1,2,2,2,0,4,2}, val = 2;
removeElement(a,8,2);
}