c++ - 我不明白程序中 next 和 prev 之间的值是如何变化的?

标签 c++

<分区>

 #include<bits/stdc++.h>
 using namespace std;
 int main()
     {
      int prev=-1;
      int next=1;
      int n;
      cin>>n;
      for(int i=1;i<=n;i++)
       {
          cout<<prev+next<<endl;
          next=prev+next-next+(prev=next);//assigning prev and next
       }
      }

我无法理解分配上一个和下一个。在 for 循环之间的第二行中,运算符优先级如何工作?

最佳答案

首先,从不#include<bits/stdc++.h> .根据规范包含您需要的 header 。

其次,您的示例中有未定义的行为 - 您在到达序列点之前修改和读取相同的值。

关于c++ - 我不明白程序中 next 和 prev 之间的值是如何变化的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122701/

相关文章:

c++ - boost circular_buffer push_back 编译错误

c++ - 取消设置最右边的设置位

c++ - std::istream 没有命令行?

c++ - 在带有 '-(inner expression)' 的表达式周围添加括号

c++ - C/C++ 中的函数式编程?

c++ 模板特化与 std::enable_if 不工作

c++ - 无法输出到 C++ 中的二进制文件

c++ - 如何用c++实现倒数计时器?

c++ - 这个 fetch_mult 的原子实现是否正确?

c++ - 从 x32 迁移到 x64 时出现链接器错误