相关疑难解决方法(0)

为什么++ x ++会出现编译错误?

我对后增量和预增量运算符的返回值感到困惑.它是返回r值还是l值.

    #include<iostream>
    using namespace std;
    int main(){
        int a=10;
        cout<<++a++<<"\n";
    }
Run Code Online (Sandbox Code Playgroud)

以下代码给出了编译错误.

error: lvalue required as increment operator
Run Code Online (Sandbox Code Playgroud)

为什么会出错?

编译器如何评估表达式++a++

c++

-3
推荐指数
2
解决办法
178
查看次数

递增顺序

我在理解C ++中的递增顺序时遇到问题。

我知道增量是一元运算符,因此它们是从右到左用括号括起来的。

我的问题是,我们什么时候增加数量?

这是一个简单的代码:

#include <iostream>
using namespace std;

int main()
{
  int a1;
  int a(12),b(3);

  a1=7+10%3-5;
  b=a/b++;

  cout<<a1<<"\t"<<b<<endl;
  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

在这里,我得到a = 3正确,但b = 5,我认为是3,因为我们从右边开始并加1,然后12/4得出3。

c++ increment

-3
推荐指数
1
解决办法
80
查看次数

++*var ++和++ Var ++有什么区别?

++*var ++和++ var ++之间有什么区别?为什么++*var ++正在工作而++ var ++结果与C中的左值必需错误?

c pre-increment post-increment

-4
推荐指数
2
解决办法
233
查看次数

C代码,其中我有一个整数变量的值,在预增量操作后我需要得到输出

i=2;

i= ++i + ++i + ++i;

printf(i)
Run Code Online (Sandbox Code Playgroud)

请给出输出说明吗?
我得到的答案是12但它应该是13.

c pre-increment

-6
推荐指数
1
解决办法
181
查看次数

为什么表达式'a ++ + = b'会出错?

#include <iostream.h>
int main()
{
  int a = 2;
  int b = 3;
  a++ += b;
  std::cout << a;
}
Run Code Online (Sandbox Code Playgroud)

我对此的理解是,这个表达式首先评估a + b,将该值存储在a中然后递增它.这里发生了什么?

c++ compiler-errors syntax-error

-8
推荐指数
1
解决办法
131
查看次数

如何计算向量的绝对值?

 std::vector<float> a {-0.2, 2.0, -0.9, 2.4, 22.0}
Run Code Online (Sandbox Code Playgroud)

如何获取所有向量元素的绝对值?

c++ vector

-14
推荐指数
1
解决办法
7273
查看次数

前后增量中的java vs C++

为什么Java输出50时C++输出51相同的代码概念?

int i=5;

i= (++i + ++i + ++i + ++i + ++i + i++);

print i
Run Code Online (Sandbox Code Playgroud)

Java的: 50

C++: 51

c++ java increment operator-keyword

-23
推荐指数
1
解决办法
453
查看次数