1.1 本文内容

记录一次因为运算符优先级错误而引起的报错的原因和解决方法。

 

二 报错情况,原因和解决方法

今天在写代码的过程中,发现了一个很有意思的报错。报错情况和出错的代码如下图所示。

优先级错误引起的报错

优先级错误引起的报错

出错的代码行是第34和35两行。为什么会报错?很简单,因为在上述两行代码中,点(.)运算先于星号(*)运算执行了。在执行点运算时(array + i)是一个指向结构体的指针,而取指针所指向对象的成员是不能用点运算的。将上述两行代码改成如下形式,问题解决。

1 (*(array + i)).data = t;
2 (*(array + i)).rank = -1;

 

相关文章:

  • 2021-04-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
  • 2021-06-25
  • 2022-01-28
  • 2022-12-23
  • 2022-03-01
猜你喜欢
  • 2021-05-30
  • 2021-08-04
  • 2021-08-02
  • 2022-12-23
  • 2022-01-27
  • 2022-12-23
  • 2021-11-04
相关资源
相似解决方案