c语言 若已有定义语句:int,k=3,j=4;

运算表达式;k+=j,j/=4.0,++j,j+2后,表达式的值是4变量k的值是7,变量觉得值是2.j/=4.0,得j=1.0,++j=2.0,j+2=4.0呀,为什么答... 运算表达式;k+=j,j/=4.0,++j,j+2后,表达式的值是4变量k的值是7,变量觉得值是2.
j/=4.0,得j=1.0,++j=2.0,j+2=4.0呀,为什么答案没有.0???
展开
 我来答
springfieldx
2008-10-18 · TA获得超过338个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:327万
展开全部
k=3 j=4

由于有逗号表达式 先执行 k+=j

此时 k=7 j=4

然后再执行 j/=4.0 虽然运算结果是1.0 但由于j是 int类型 所以j=1

此时 k=7 j=1

执行 ++j

此时 j=2

逗号表达式最后一个是 j+2 这个表达式的值是4

由于逗号表达式以它里面最后一个表达式作为表达式的值,所以整个表达式的值是4

而k的值是7
立助D
2008-10-18 · TA获得超过903个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:322万
展开全部
k和j被你定义为整型是没有小数部分的,要想得出你的结果应把int改为float
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7a16036
2008-10-18 · TA获得超过603个赞
知道小有建树答主
回答量:427
采纳率:50%
帮助的人:262万
展开全部
因为你定义了整型k,j;
运算后类型被强制转换了,所有运算后的结果都被强制转换成整型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式