标签: pre-increment

促销是在Java增量之前发生的吗?

我在OCA问题中看到了这个问题,需要知道为什么输出90而不是100.这里是代码:

int x = 9;
long y = x * (long) (++x);
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)

那么,我认为这会做的是,首先,增加x(因为这是第一次发生的事情?)然后它会进行类型提升并取左x,即10,将其变为long并乘以这两个long.对?

java pre-increment type-promotion

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

预增量和后增量

#include<stdio.h> 
int main()
{
    int a = 10;
    ++a = 20;      
    printf("a = %d", a);
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上述代码获得的输出是:a = 20; 当作为C++代码运行时.

#include<stdio.h> 
int main()
{
    int a = 10;
    a++ = 20;      
    printf("a = %d", a);
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这给出了编译错误.这背后的原因是什么?

c pre-increment post-increment

-2
推荐指数
1
解决办法
134
查看次数

"无论如何,请按照指南"更喜欢++ i而不是i ++",你就不会出错.这背后的原因是什么?

我曾经碰到过这样的回答这个问题.在其中一行中,作者提到:

在任何情况下,遵循准则"宁可++ii++",你会不会出问题.

我知道这++i比稍快i++,但认为没有理由让他们出错.我搜索了一会儿,我能找到的最接近的是这个.它清楚地解释了为什么它更喜欢使用++i,但不是你怎么可能出错使用i++.

所以有人能告诉我怎么i++会出错?

注意:我的问题不是欺骗,因为我没有询问性能.我已经看到了这个问题.我在问i++我上面提到的答案中提到的怎么可能是错的.

c pre-increment post-increment

-2
推荐指数
1
解决办法
211
查看次数

Js魔术需要解释

我正试图在js中解决这个魔法:

var a = 1;
console.log(a++ + ++a);
Run Code Online (Sandbox Code Playgroud)

它返回4,我可以理解它是1 + 3,但这是什么顺序?

javascript pre-increment post-increment

-2
推荐指数
1
解决办法
53
查看次数

我要预分配一个变量的赋值(按值预增1以上)?

我想在for循环中预增值分配

for (int x=0; x<100; x+=increase){
   // loop operation here
}
Run Code Online (Sandbox Code Playgroud)

上面的代码后增加值,但是我想预增加它。我知道我可以使用++i语法进行预递增,但是有一种方法可以通过变量赋值进行预递增。

c c++ pre-increment

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

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

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

c pre-increment post-increment

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

为什么递增操作++ a ++不起作用,至少在C中?

我很好奇,发现当前的一段代码不起作用,但我无法弄清楚原因:

#include <stdio.h>

void main(){
        int a = 42;
        printf("%d\n", ++a++);
}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不是一个错误的语法.有人可以解释错误输出吗?

first.c: In function ‘main’:
first.c:5:17: error: lvalue required as increment operand
  printf("%d\n", ++a++);
Run Code Online (Sandbox Code Playgroud)

c increment pre-increment post-increment

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

意外输出涉及具有后期和预增量的数组值

以下程序的输出不应该是 -

2 3 20

相反,它正在显示

3 2 15

任何人都可以解释这背后的原因吗?

#include<stdio.h>
main()
{
    int a[5] = {5,1,15,20,25};
    int i,j,m;
    i = ++a[1];
    j = a[1]++;
    m = a[i++];
    printf("%d %d %d",i,j,m);
}
Run Code Online (Sandbox Code Playgroud)

c pre-increment post-increment

-5
推荐指数
1
解决办法
83
查看次数

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

i=2;

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

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

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

c pre-increment

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