作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/29 05:01:10
这是一道c++题目能告诉我答案怎么来的么?还有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_________
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
再问: 那个++号为什么会分配给1而不是3呢
再答: 因为有称号*相隔。