设j为int型变量,则下面for循环语句的执行结果是______________
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/17 07:27:24
设j为int型变量,则下面for循环语句的执行结果是______________
for(j=10;j>3;j--)
{
if (j%3) j--;
--j;
--j;
printf("%d",j);
}
答案是:7、4
(我好像转入了牛角尖,麻烦高人解救:j--到底是如何运算的.详解!)
第一个j--,j先取出来也就是10,然后再自减1,就等于9.那么第2个j--是,j是等于先取出来的10,还是,真正自减运算后的9呢?这个始终搞晕~
for(j=10;j>3;j--)
{
if (j%3) j--;
--j;
--j;
printf("%d",j);
}
答案是:7、4
(我好像转入了牛角尖,麻烦高人解救:j--到底是如何运算的.详解!)
第一个j--,j先取出来也就是10,然后再自减1,就等于9.那么第2个j--是,j是等于先取出来的10,还是,真正自减运算后的9呢?这个始终搞晕~
for(j=10;j>3;j--)
{
if (j%3) j--; //这句话是:只要j%3不等于0,j就减1
--j; //这句话是j减1
--j; //这句话是j减1
printf("%d",j); //输出j
}
首先,j=10;因为 j%3不等于0 ,所以执行if内的语句,j-1,此刻j=9;再往后,有两次j-1,于是j=7;然后输出
再然后,执行for语句内的j--,此刻j=6;
再进入循环.因为j%3等于0,所以不执行if内的语句,j依然等于6;然后两次j-1;j=4.然后输出4.
我觉得这个题目j--或则--j都可以互换,答案都一样.
主要是你没有理解if(j%3)的意思.
{
if (j%3) j--; //这句话是:只要j%3不等于0,j就减1
--j; //这句话是j减1
--j; //这句话是j减1
printf("%d",j); //输出j
}
首先,j=10;因为 j%3不等于0 ,所以执行if内的语句,j-1,此刻j=9;再往后,有两次j-1,于是j=7;然后输出
再然后,执行for语句内的j--,此刻j=6;
再进入循环.因为j%3等于0,所以不执行if内的语句,j依然等于6;然后两次j-1;j=4.然后输出4.
我觉得这个题目j--或则--j都可以互换,答案都一样.
主要是你没有理解if(j%3)的意思.
设j为int型变量,则下面for循环语句的执行结果是______________
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为?
若n、i、j和k都是int型变量,则执行下面语句后n的值为____________
试题内容:设x和y均为int型变量,则执行下面的循环后,y的值为() for(y=1;x=1;y
设x和y均为int型变量,则执行下的循环后,y值为
设x和y均为int型变量,则执行以下的循环后,y值为
5 设x和y均为int型变量,则执行下的循环后,y值为____
设j和k都是int类型,则for循环语句 for(j=0,k=0;j>k; 最多执行几次
设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则下列不能正常执行的语句是?
设x,y 为int型变量,则执行下列语句后,y的值是( ) x=5;
设ijk均为int型变量则履行完“for i=0j=10;ilt;=j;i++j--k=i+j;“的语句后k的值为?
若x,i,j和k都是int型变量,则执行下面表达式后x的值为 C x=(i=4,j