int remove_key(int* arr, int n, int v) {
int count = 0; //the number of elements equal to v which is to be deleted
for(int i = 0; i < n-count; ++i){
int x = arr[i];
if(x == v){
int j = i;
int k = n-count-1;
//往前面挪动一个元素
while(j < k){
int temp = arr[j+1];
arr[j] = temp;
j++;
}
++count;
i--;
}
}
return count;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[] = {3,1};
int n = sizeof(a)/sizeof(a[0]);
int m = remove_key(a,n,3);
for(int i = 0; i < n-m; ++i){
printf("%d ", a[i]);
}
getchar();
return 0;
}