Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 指针返回值错误_C++_Pointers - Fatal编程技术网

C++ 指针返回值错误

C++ 指针返回值错误,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) / (*

有人知道为什么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) / (*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