c++中*和++ 优先级
时间: 2023-08-15 13:04:24 浏览: 225
在 C++ 中,* 和 ++ 操作符的优先级是不同的。其中,* 的优先级高于 ++。
具体来说,表达式中的 * 操作符会首先被执行,然后才是 ++ 操作符。因此,如果一个表达式中同时包含 * 和 ++ 操作符,那么 * 操作符所在的子表达式会先被计算,然后再进行 ++ 操作。
例如,对于表达式 a * b++,会先计算 b++,然后再计算 a * b 的结果。
如果需要修改优先级,可以使用括号来明确表达式的执行顺序。例如,(a * b)++ 会先计算 a * b 的结果,然后再进行 ++ 操作。
相关问题
C++ ++++*++++ +++***+++ ++******+ ********* ++******+ ++++*
C++是一种面向对象的编程语言,它是C语言的扩展,支持封装、继承和多态等特性。C++中的运算符有很多,其中包括自增运算符++和解引用运算符*。根据C++中运算符的优先级和结合性,可以得出以下表达式的结果:
++++*++++的结果是16,+++***+++的结果是9,++******+的结果是7,*********的结果是9,++******+的结果是7,++++*?的结果无法确定,因为?代表一个未知的值。
char *p = "program"; cout<<*p+++1; 为什么输出结果为113
这是因为 C++ 中的运算符优先级,++运算符的优先级比解引用运算符*的优先级高,因此先执行*p,然后执行++运算符,将指针p向后移动一位,指向字母'r'。然后将'r'的ASCII码值(114)加1,输出结果为113('s'的ASCII码值)。需要注意的是这段代码的行为是未定义的,因为它试图修改一个指向常量字符串的指针。
阅读全文