设有定义“int j,i;”,则执行“j=(i=1,1+9)>9?i++||++i:++i;”后,i,j的值为()

答案是21请写出过程... 答案是2 1 请写出过程 展开
 我来答
忘至白葬不情必0T
2009-07-08 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
先执行(i=1,1+9)>9,()表达式的值,是()内最右边式子的结果,所以是10,10>9,所以第2步是执行i++||++i.
因为之前已执行了i=1,所以i++的取值是1,取值后将i变成2,所以i++||++i的左边是逻辑真值,根据编译器的优化,右边的++i不再计算,所以i++||++i的最终结果是真,即1,所以j=1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式