for循环内外变量值的变化表示不懂
查看原帖
for循环内外变量值的变化表示不懂
374123
Somerest楼主2021/1/24 15:54
#include <stdio.h>
int main(){
    int n,cnt=0,i,j;
    int a[105],b[105];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        b[i]=a[i];
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
        {
            if(a[j]<b[i])
            {
                cnt+=1;
                //b[i]=cnt;
            }
           // b[i]=cnt;
        }
        //b[i]=cnt;
        printf("%d ",b[i]);
        cnt=0;
    }
    return 0;
}

为什么三个被注释的语句位置不同会导致不同的结果,前两者或者为1或者为0,而后者才是正确的答案,可照我对for的理解,三者应该不会不一样吧……不懂,请指教(是不是憨憨问题?)

2021/1/24 15:54
加载中...