C语言小题目~
main(){intj,k,s,m;for(k=1;k<10;k++){s=1;m=k+2;for(j=k;j<m;j++,k++)s+=j:}printf("s=%d,...
main()
{int j,k,s,m;
for(k=1;k<10;k++)
{s=1;m=k+2;
for(j=k;j<m;j++,k++)s+=j:
}
printf("s=%d,k=%d",s,k);
}
输出结果:s=16,k=10怎么算的?? 展开
{int j,k,s,m;
for(k=1;k<10;k++)
{s=1;m=k+2;
for(j=k;j<m;j++,k++)s+=j:
}
printf("s=%d,k=%d",s,k);
}
输出结果:s=16,k=10怎么算的?? 展开
3个回答
展开全部
main()
{int j,k,s,m;
for(k=1;k<10;k++) /*外循环,循环9次K=1--9时循环,最后当K的值为10的时候,K<10不成立,结束循环,所以最后K值为10*/
{
S=1;M=K+2; /*每次进入内循环之前都给S赋值为1,把K+2的值赋给M*/
for(j=k;j<m;j++,k++) /*内循环,先判断前2个表达式,然后运行下边的语句当J>+M时内循环停止运行; 注意J,K的值在运行完S+=J后就各自+1了*/
s+=j; /*此句 首先后边是分号你给打成了冒号,本式换型为S=S+J,前边的S是一个变量,他的值随着S和J的值的变化而变化,但是,每次在从外循环进入内循环的时候S的初值都是1,上边解释过*/
} /*以上所有循环结束*/
printf("s=%d,k=%d",s,k); /*输出最后值,如果把这句放到上边的括号里边就会看到S,K每次值的变化了*/
}
还有什么不懂的地方给我留言,
看到了给你回^-^
{int j,k,s,m;
for(k=1;k<10;k++) /*外循环,循环9次K=1--9时循环,最后当K的值为10的时候,K<10不成立,结束循环,所以最后K值为10*/
{
S=1;M=K+2; /*每次进入内循环之前都给S赋值为1,把K+2的值赋给M*/
for(j=k;j<m;j++,k++) /*内循环,先判断前2个表达式,然后运行下边的语句当J>+M时内循环停止运行; 注意J,K的值在运行完S+=J后就各自+1了*/
s+=j; /*此句 首先后边是分号你给打成了冒号,本式换型为S=S+J,前边的S是一个变量,他的值随着S和J的值的变化而变化,但是,每次在从外循环进入内循环的时候S的初值都是1,上边解释过*/
} /*以上所有循环结束*/
printf("s=%d,k=%d",s,k); /*输出最后值,如果把这句放到上边的括号里边就会看到S,K每次值的变化了*/
}
还有什么不懂的地方给我留言,
看到了给你回^-^
展开全部
你注意下,这个程序里面有2个循环,K每次循环都是自加2次,
for(k=1;k<10;k++) 这个执行的时候K要字加一次,
for(j=k;j<m;j++,k++)s+=j 这个也要自加一次
其他方面应该没难的了吧,你打个草稿应该就能算出来S了,当J>=M时,循环就会结束,这时的S就是要求的
求K,你实际上不用看第2个循环的,第一个才是主循环
for(k=1;k<10;k++) 很显然循环结束K是10
for(k=1;k<10;k++) 这个执行的时候K要字加一次,
for(j=k;j<m;j++,k++)s+=j 这个也要自加一次
其他方面应该没难的了吧,你打个草稿应该就能算出来S了,当J>=M时,循环就会结束,这时的S就是要求的
求K,你实际上不用看第2个循环的,第一个才是主循环
for(k=1;k<10;k++) 很显然循环结束K是10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的说的基本很清楚了,不过,补充一点for(k=1;k<10;k++) 是指for循环中的操作全部完成后才加一的,也就是说k++是循环体中的最后一条操作指令
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询