为什么每执行一行代码++k就+1

请问为什么每执行一行代码++k就+1呢?

int main() {
    int a[100]= {0};


    while(~scanf("%d",&a[n])) {
        n++;
    }
    if(n>1) {
        for(i=1; i<n; i++) {
            if(a[i]!=a[k]) {
                a[++k]=a[i];
        
            }             
        }                
        n=k+1;         
    }

    for(int j=0; j<n; j++) {
        printf("%d ",a[j]);
    }



    return 0;
}

因为++k就是累加呀,这是c++语法规定的,你在想什么呢

a[++k]=a[i];
相当于
a[k]=a[i];
k = k + 1;