怎样理解k=i-j?i+j:i-3?j:i ; 并输出 i j k 这个表达式1的值是多少?

i=3j=4... i=3j=4 展开
 我来答
sun_siliang
2010-10-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4547万
展开全部
上面等价于下面这个式子:
k=(i-j?i+j:(i-3?j:i))
1 先做(i-3?j:i)这个运算,意思是i-3为非0,则式子的值为j,否则为i;
2 再(i-j?i+j:(i-3?j:i))这个运算,意思是i-j为非0,则式子的值为i+j,否则为(i-3?j:i);
3 最后将计算结果赋给k.

补充结果为7
贝尔0year
2017-11-18
知道答主
回答量:1
采纳率:0%
帮助的人:922
引用sun_siliang的回答:
上面等价于下面这个式子:
k=(i-j?i+j:(i-3?j:i))
1 先做(i-3?j:i)这个运算,意思是i-3为非0,则式子的值为j,否则为i;
2 再(i-j?i+j:(i-3?j:i))这个运算,意思是i-j为非0,则式子的值为i+j,否则为(i-3?j:i);
3 最后将计算结果赋给k.

补充结果为7
展开全部
i-j?这里非0,所以直接就选择i+j,i+j=30=k
i和j不变,所以输出i=10 j=20 k=30
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姜桃
2010-10-28 · TA获得超过582个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:343万
展开全部
i-j?i+j:i-3?j:i
这是一个双重问号表达式,

首先看 i-j 为多少,如果不为0,k = i+j;
如果为0 。 k = i-3?j:i

再看 i-3为多少, 如果为0 k = i
如果不为0: k = j;

这里边 i 和 j 的值都没有变过,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mzhig2010
2010-10-28
知道答主
回答量:59
采纳率:0%
帮助的人:23.6万
展开全部
条件运算符的语法为:
(条件表达式)?(条件为真时的表达式):(条件为假时的表达式)
上式为嵌套用法,当i-j大于0时为真,执行i+j操作;否则执行i-3。同理在执行i-3时,若其值大于0就给k赋j值,否则,赋i值。
当i=1,j=1时最后输出1;即把1赋给k
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式