相关疑难解决方法(0)

C,C++,Java和C#中的前后增量运算符行为

免责声明: 这不是一个真实的例子.这只是这些语言如何运作的理论问题.

在发布和预增量运算符方面,C/C++,C#和Java之间究竟有什么区别?

这是我用VC++ 10,Java 1.6和C#4获得的

int a = 2;
int b = a++ + a++;
int c = ++a + a++ + a++;

      +-----+------+------+----+
      |  C  | C++  | Java | C# |
+-----+-----+------+------+----+
| a   |  7  |  7   |   7  |  7 |
+-----+-----+------+------+----+
| b   |  4  |  4   |   5  | 5  |
+-----+-----+------+------+----+
| c   | 15  |  15  |  16  | 16 |
+-----+-----+------+------+----+
Run Code Online (Sandbox Code Playgroud)

c c# c++ java

57
推荐指数
2
解决办法
2万
查看次数

13
推荐指数
2
解决办法
2442
查看次数

增量运算符如何在if语句中工作?

    #include <stdio.h>

    int main()
    {
        int x = 0;

        if (x++)
            printf("true\n");
        else if (x == 1)
            printf("false\n");
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

输出:

false
Run Code Online (Sandbox Code Playgroud)

为什么输出错误?

x++是后增量; 这意味着使用的值x然后递增.如果是这样,那么x=0应该使用,答案应该是真的.

c if-statement post-increment

4
推荐指数
1
解决办法
1万
查看次数