C++ 指针返回值错误
有人知道为什么y=11吗? 它是21/12=1.75,但是它返回11C++ 指针返回值错误,c++,pointers,C++,Pointers,有人知道为什么y=11吗? 它是21/12=1.75,但是它返回11 int i=3, j=5, *p = &i, *q = &j, *r; int y = 7 **p / *q + 7; 操作顺序。7*3/5+7等于21/5+7。因为您使用的是整数,所以是4+7=11。运算符优先级-使用括号表示求值顺序: int y = ((7 * *p) / *q) + 7; 7*3/5=4 4+7=11 所有操作都作为整数而不是浮点操作完成 让我们把这个拆开 7 * (*p) / (*
int i=3, j=5, *p = &i, *q = &j, *r;
int y = 7 **p / *q + 7;
操作顺序。7*3/5+7等于21/5+7。因为您使用的是整数,所以是4+7=11。运算符优先级-使用括号表示求值顺序:
int y = ((7 * *p) / *q) + 7;
7*3/5=4
4+7=11
所有操作都作为整数而不是浮点操作完成 让我们把这个拆开
7 * (*p) / (*q) + 7
7 * *&i / *&j + 7
7 * 3 / 5 + 7
21 / 5 + 7
4 + 7
11
如果正确,表达式的计算结果为:
(7* 3)/5 + 7
= 4 + 7
等于11哇,不知道我怎么会忘记。谢谢我学校课本上的代码:)@JesseStruyvelt-我希望这张纸是吸水性的。这是那本书作为卫生纸的唯一用途
(7* 3)/5 + 7
= 4 + 7