首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下标运算符优先

下标运算符优先
EN

Stack Overflow用户
提问于 2019-09-18 09:18:47
回答 1查看 208关注 0票数 1

下标运算符具有第二最高的运算符优先级(请参见这张桌子)。然而,它似乎表现得好像它的优先级很低。例如:

代码语言:javascript
复制
int arr[] = {10,20,30,40,50};
cout << arr[1+2];

此代码输出40,这表明+的结果在下标运算符的应用程序之前是可用的,这反过来意味着+比下标运算符具有更高的优先级。我缺少了什么?下标运算符的高优先级是如何表达自己的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-18 09:22:03

下标运算符[]适用于arr,参数为1+ 2。参数与[]运算符的优先级无关。

请参阅像1 + arr[1 + 2]这样的表达式。由于引用的优先级,所以将其分组为1 + (arr[1 + 2])而不是 (1 + arr)[1 + 2],这将是一些奇怪的指针算法!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57989262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档