删除数组中指定元素 没看懂这个程序,不知道两个空填什么

img

代码: #include <stdio.h> #define N 10 int DelInt(int *s,int c) ; int main() { int s[]={1, 2, 3, 3, 7, 6, 7, 7, 8, 9},c,n; scanf("%d",&c); printf("删除前:"); for(int i=0;i<N;i++) printf("%d ",s[i]); n=DelInt(s,c); printf("\n删除后:"); for(int i=0;i<N-n;i++) printf("%d ",s[i]); return 0; } int DelInt(int *s,int c)
{ int flag=0,k=0; for(int n=0;n<N;n++,s++)
if(*s==c) { k=0; while(k<N-n) {

                            k++;                            
                    }
                    

falg++;

            }
    return  flag;    

}

第一个空的位置要做的操作是把从找到位置开始的数组后面的元素往前移,但此时只有一个*s指针而且已经被移动了,所以应该填

s[k]=s[k+1];

第二个空应该做两个操作,将flag自增代表找到了需要寻找的数,但是由于题目要求只找到第一个,所以还需要跳出循环,所以应该填

flag++;break;

string=input('请输入一段字符串:')print('输入字符串的长度是:',len(string))