0 0

i++问题0

int I = 3;
I = I + I++ + ++I;
以上代码在Java/C#/JavaScript中均输出11,但在PHP中却输出12,PHP的计算和替他三种有什么不同?百思不得其解,求指点!
2013年3月28日 16:57

2个答案 按时间排序 按投票排序

0 0

未定义操作出什么都不新鲜。不要使用这种方法。PHP编译C源码的编译器不同,没准就变11了呢,甚至可能既不是11也不是12而是别的什么。
这种情况是语法的原子性问题。

2013年4月10日 21:17
0 0

PHP不清楚,不过,一般这种操作,都采用括号。而且实际使用中,不会有人这么写!

2013年3月28日 23:39

相关推荐

    java中for(int i= 0; i<=10;i=i++)System.out.print(i);为什么无限输出0

    这样,循环变量`i`会在每次迭代后正确地增加1,直到达到10,从而避免了无限循环的问题。 总结来说,通过深入了解`++`运算符的工作机制以及如何正确地在`for`循环中使用它,我们可以避免类似的陷阱,确保代码按预期...

    i = i++ 代码分析

    为了弄清楚这个问题,让我们看一下反编译后的代码: ```java iconst_0 istore_1 iload_1 iinc 1, 1 istore_1 getstatic #16; // Field java/lang/System.out:Ljava/io/PrintStream; iload_1 invokevirtual #22; // ...

    i++问题探讨的与解答

    i++的描述,挺好的资源,做了比较经典的分析,大家共享

    【驱动程序】USBCAN-I_I+_II_II+_2A_I-MINI驱动安装.zip

    本篇将详细介绍"USBCAN-I/I+ II/II+ 2A I-MINI"驱动的安装过程,以及其在不同Windows操作系统(包括win10、win7、win8)下的兼容性问题。 USBCAN-I/I+ II/II+ 2A I-MINI是一款由周立功公司研发的专业CAN总线接口...

    C#多线程问题2-简单案例-i++ c#经典案例.pdf

    C#多线程问题2-简单案例-i++经典案例 C#多线程问题2-简单案例-i++经典案例是C#编程语言中多线程编程的经典案例,它展示了多线程资源共享问题的典型解决方案。本案例中,我们将学习如何使用C#语言来解决多线程问题,...

    while(i++and++i)_helloworld_

    在编程语言中,如C++或...总的来说,这个题目涉及到自增操作符的用法,特别是"i++"和"++i"的区别,以及它们在while循环条件语句中的潜在问题。这不仅是理解C++或类似语言基本语法的关键,也是进行更复杂编程的基础。

    对于含有n个内节点的二元树,证明E=I+2n。其中E、I分别为外部和内部路径长度。

    本问题的目标是证明对于含有n个内节点的二元树,外部路径长度E等于内部路径长度I加上2倍的内节点数量n,即E = I + 2n。这一结论有助于我们更好地理解二叉树中节点间的距离关系及其结构特性。 #### 证明步骤 **基本...

    i ++ && ++ i

    在Java编程语言中,`i++` 和 `++i` 是两种不同的自增操作符,它们在表达式中的行为和优先级是理解此问题的关键。`i++` 是后置自增运算符,它首先使用变量`i`的当前值,然后将其加1;而`++i` 是前置自增运算符,它先...

    从volatile说到i++的线程安全问题.docx

    从volatile说到i++的线程安全问题 本文主要讨论了volatile关键字在多线程环境下的应用,特别是解决了多线程间共享变量的可见性问题,以及i++操作的线程安全问题。 一、volatile关键字的作用 volatile关键字保证了...

    Java中i=i++问题分析

    int i = 0;  i = i++;  结果还是0  为什么?  程序的执行顺序是这样的:因为++在后面,所以先使用i,“使用”的含义是i++这个表达式的值是0,但是并没有做赋值操作,它在整个语句的后才做赋值,也是说在做了...

    浅析PHP中的i++与++i的区别及效率

    看一些视频教程里面写for循环的时候都是写 ++i 而不是 i++,上网搜索了一下,原来有效率问题 ++i相当于下列代码 i += 1; return i; i++相当于下列代码 j = i; i += 1; return j; 当然如果编译器会将这些差别都...

    C++小知识:用++i替代i++

    ”这个问题,我想认真地回答:“是的,真应该这么做”。你会发现,在调试版本中速度大大提升。如果迭代器很复杂的话,这么做的好处更是显而易见了。 这个错误是用静态代码分析工具PVS-Studio发现的,错误信息为:...

    详解java面试题中的i++和++i

    Java中i++和++i的详解 Java中的i++和++i是两个常见的运算符,经常出现在面试题中。它们的作用都是将变量i加1,但是它们的执行顺序和返回值却有所不同。 首先,让我们从字节码的角度来看addAfterReturn和...

    I++房地产专业搜索引擎商业计划书-精品创业计划书模板.pdf

    I++房地产专业搜索引擎,正是针对当前房地产信息服务市场中存在的问题和用户需求应运而生。它致力于通过网络技术手段,为广大用户提供一个高效、便捷、准确的房地产信息搜索平台。 I++简介: 1. I++的定义:I++作为...

    i++循环与i-–循环的执行效率(递增与递减效率)

    标题和描述中提到的知识点主要围绕着在编程中常见的递增操作(i++)和递减操作(i--)的执行效率问题进行讨论。在不同的上下文中,这两种操作的效率可能会有所不同,这通常与使用的编程语言、编译器优化以及处理器的指令...

    基础化工行业深度研究:I+G行业供需格局向好,产品发展有望持续.pdf

    3. **过剩产能消化**:过去,I+G行业面临产能过剩问题,价格下滑,但现在过剩产能正在被逐步消化。行业进入壁垒因技术、规模以及环保要求提高而升高,形成了高度垄断的市场格局。 4. **供需关系转变**:当前,I+G的...

    java代码-i=3; a=i++; i+=a; \u6c42i=

    此外,标签“代码”表明这是一个关于编程实践的讨论,可能是在学习或者解决某个编程问题的过程中遇到的。在这种情况下,理解变量的赋值和自增操作对于编写正确的控制流程至关重要。 在压缩包中,有两个文件:`main....

    compat-libstdc++-33 32位i686版

    `compat-libstdc++-33 32位i686版` 是一个针对32位系统的软件包,主要用于支持某些旧版本的C++应用程序。这个包是为i686架构设计的,它是Intel Pentium Pro及后续处理器的指令集。在Linux环境下,当用户需要运行依赖...

Global site tag (gtag.js) - Google Analytics