for(i=0;i<q-1;i++) //从最左端开始
{
for(j=i+1;j<q;j++) //依次与右边比较
{
if(c[i] == c[j])
{ q--; // 每个相等删除后总数组减一
for(k=j;k<q;k++) //引入k,防止改变j的值使第二个大循环出错
{
c[k]=c[k+1]; //相等的数+1开始左平移一位
}
}
}
}
编写过程中的疑问
**
for循环的某次循环在没有结束时,判断条件在改变,当在结束前不满足时,是直接结束还是继续执行下去?
for(i=1;i<9;i++)
{
i=9;printf("%d ",i)
}
结果是 输出9
答案是后者继续执行下去。