C语言循环题?
#include<stdio.h>inti,j;main(){for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}}...
#include<stdio.h>
int i,j;
main()
{
for(j=10;j>3;j--)
{
if(j%3)j--;
--j;--j;
printf("%d",j);
}
}/*答案为什么是7 4 */ 展开
int i,j;
main()
{
for(j=10;j>3;j--)
{
if(j%3)j--;
--j;--j;
printf("%d",j);
}
}/*答案为什么是7 4 */ 展开
5个回答
展开全部
如果不是3的倍数j就减3次,是则减2次,而且每次循环减1次;
因此,j == 10 时,j减2次后就是7;进入循环,j == 7,再减3次后是4;再进入循环,j == 3,不满足循环条件,跳出循环。
因此,j == 10 时,j减2次后就是7;进入循环,j == 7,再减3次后是4;再进入循环,j == 3,不满足循环条件,跳出循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一次循环时,j=10,10%3=1,那么执行j--,然后两次--j,j=7,输出j,然后执行分号后的j--,第二次也是如此,j=4,输出j,继续执行,然后j=3,于是退出循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
双加号在前面的,先执行加1再执行其他运算,双加号在后的等这个算式运算结束后才执行,等于运算过程不参与。然后for的第三部分,等每次运算完花括号后才执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询