这是一道c++题目能告诉我答案怎么来的么?还有pn->a/n.b*++pn->a是什么意思啊?

structnum{inta;intb;floatf;}n={1,3,5.0};structnum*pn=&n;则表达式pn->a/n.b*++pn->a的值是_____... struct num
{int a ;
int b ;
float f ;
}n={1,3,5.0} ;
struct num *pn=&n ;
则表达式pn->a/n.b*++pn->a的值是_____0_________
展开
 我来答
xoalyg
2012-06-25 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2364万
展开全部
struct num {
int a ;
int b ;
float f ;
}n = {1,3,5.0} ; // 将n的a,b,f分别初始化为1,3和5.0
pn->a/n.b * ++pn->a是求(a/b)*a,即(1/3)*1 = 0 * 1 = 0
更多追问追答
追问
1/3为什么是0,还有不是++a吗应该是2呀
追答
对的,看漏了。不过
pn->a/n.b * ++pn->a是求(a/b)*(a + 1),即(1/3)*1 = 0 * (1 + 1) = 0
注意到两整数相除是没有小数部分的。即 1/3 = 0
icepointfirst
2012-06-25 · TA获得超过303个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:224万
展开全部
pn->a = 1
n.b = 3
所以 pn->a/n.b = 1/3 = 0 因为是两个整型数据想除,商值0.333会取整得0
++pn->a = 2
pn->a/n.b*++pn->a = 0 * 2 = 0
追问
那个++号为什么会分配给1而不是3呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式