求讲解一道C语言的题~!
inti=6,j=6,k=3;则表达式k+=i>j?i++:--j;的值为?求解释求答案~...
int i=6,j=6,k=3;
则表达式 k + = i > j ? i ++ : - - j;的值为?
求解释 求答案~ 展开
则表达式 k + = i > j ? i ++ : - - j;的值为?
求解释 求答案~ 展开
展开全部
值为8 i>j的值为(0),则k+=--j; 则K=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(k+=i>j){
i++;
}
else{
--j;
}
转意后就是这样的,这样应该就能看懂了
i++;
}
else{
--j;
}
转意后就是这样的,这样应该就能看懂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i = 6;
int j = 6;
int k = 3;
if (i > j) { // i=6,j=6 -> go else
k += i;
i++;
} else { //
j-=1; // j = 5
k = k + j; // k = 3 + 5 = 8
}
int j = 6;
int k = 3;
if (i > j) { // i=6,j=6 -> go else
k += i;
i++;
} else { //
j-=1; // j = 5
k = k + j; // k = 3 + 5 = 8
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A?B:C
是C语言的一个经典表达。
意思就是问,A条件满不满足,如果满足,执行B,不满足,执行C
你问的这道题,还真有点难。请确认你输入的没有错误,其实这种程序,你自己拿个程序写一下就明白了
这里要注意运算符的优先级结合问题。
正确答案应该是8. 我用g++编过了。
他的原理是这样的。
+=运算符的优先级没有?:高。
所以,先进行运算的是i>j?i++:--j表达式
按照我刚才说的。这句话的意思是。i是否大于j,大于执行i++。不大于执行--j。但是实际上i==j
所以这里要执行--j
然后在执行 k+= 操作。
相当于k + = --j
意思是,在执行这句话之前,j就已经被减1,所以是5、k = 3.
k + = --j相当于 k = k + --j
所以结果是 k = 3 + 5 =8
是C语言的一个经典表达。
意思就是问,A条件满不满足,如果满足,执行B,不满足,执行C
你问的这道题,还真有点难。请确认你输入的没有错误,其实这种程序,你自己拿个程序写一下就明白了
这里要注意运算符的优先级结合问题。
正确答案应该是8. 我用g++编过了。
他的原理是这样的。
+=运算符的优先级没有?:高。
所以,先进行运算的是i>j?i++:--j表达式
按照我刚才说的。这句话的意思是。i是否大于j,大于执行i++。不大于执行--j。但是实际上i==j
所以这里要执行--j
然后在执行 k+= 操作。
相当于k + = --j
意思是,在执行这句话之前,j就已经被减1,所以是5、k = 3.
k + = --j相当于 k = k + --j
所以结果是 k = 3 + 5 =8
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式结果是6
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询