鱼C论坛

 找回密码
 立即注册
查看: 1457|回复: 1

[已解决]老师讲的一道例题算法没有听明白

[复制链接]
发表于 2021-5-19 17:29:56 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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就可以得到最后结果了,请问各位大佬为什么呀
最佳答案
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=5  4+1<6继续一次循环所以最终s+=j-->为s=s+j=5+5=10 所以你们老师说就是1+4+5喽
    }
    printf("%d\n",s);

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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=5  4+1<6继续一次循环所以最终s+=j-->为s=s+j=5+5=10 所以你们老师说就是1+4+5喽
    }
    printf("%d\n",s);

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 10:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表