初学者,C语言想知道运行详细过程

#include
int main(){
int a[10]={1,2,2,3,4,3,4,5,1,5};
int n=0,i,j,c,k;
for(i=0;i<10-n;i++){
c=a[i];
for(j=i+1;j<10-n;j++){
if(a[j]==c){

            for(k=j;k<10-n;k++){
                a[k]=a[k+1];
            n++;
            }
        }
    }
    for(i=0;i<10-n;i++){
        printf("%d",a[i]);
    }
    return 0;
}

}
运算思想不太明白,麻烦大家帮帮忙解答一下

这段代码实现将数组a[] 中元素去重,重复元素只保留一个,有错误修改如下,供参考:

#include <stdio.h>
int main() {
    int a[10] = { 1,2,2,3,4,3,4,5,1,5 };
    int n = 0, i, j, c, k, l;
    for (i = 0; i < 10 - n; i++) {
        c = a[i];
        for (j = i + 1; j < 10 - n; j++) {
            if (a[j] == c) {

                for (k = j; k < 10 - n; k++) 
                    a[k] = a[k + 1];
                n++;
                //printf("i=%d ,a[j]==c:", i);
                //for (l = 0; l < 10 - n; l++) {
                //    printf("%d ", a[l]);
                //}
                //printf("\n");
            }
        }
        printf("i=%d:", i);
        for (l = 0; l < 10 - n; l++) {
            printf("%d ", a[l]);
        }
        printf("\n");
    }
    return 0;
}

可以按F10

img


打开监视窗口,一条一条语句执行,按f11可以进入函数内部

在适当的地方插入printf语句和getchar语句,输出当前所有相关变量的变量名和对应变量的值并暂停执行,按任意键继续执行,帮助理解程序的执行过程。

可以学习一下怎么断点调试的,这个也是必学的