卡哇依依依是我 发表于 2021-5-19 17:29:56

老师讲的一道例题算法没有听明白

#include<stdio.h>
int main()
{
int k,j,s;
for(k=2;k<6;k++,k++)
{
s=1;
for(j=k;j<6;j++) s+=j;
}
printf("%d\n",s);
        return 0;
       
}
就是这样一段代码,问最后的运行结果,老师说1+4+5就可以得到最后结果了,请问各位大佬为什么呀{:10_266:}

肖-肖 发表于 2021-5-19 17:37:09

解释再注释中
#include<stdio.h>
int main()
{
    int k,j,s;
    for(k=2;k<6;k++,k++)
    {
      s=1;//因为这里每次外层循环这里的s都会被重新赋值为1 所以s最终的结果是当k=4的时候
      for(j=k;j<6;j++)
            s+=j;//当k=4的时候s+=j-->s=s+j=1+4=54+1<6继续一次循环所以最终s+=j-->为s=s+j=5+5=10 所以你们老师说就是1+4+5喽
    }
    printf("%d\n",s);

    return 0;
}
页: [1]
查看完整版本: 老师讲的一道例题算法没有听明白