作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
<分区>
我正在 Visual C++ 和 Java 中运行以下程序:
Visual C++
void main()
{
int i = 1, j;
j = i++ + i++ + ++i;
printf("%d\n",j);
}
输出:
6
Java:
public class Increment {
public static void main(String[] args) {
int i = 1, j;
j = i++ + i++ + ++i;
System.out.println(j);
}
}
输出:
7
为什么这两种语言的输出不同?这两种语言如何以不同方式对待前增量运算符和后增量运算符?
我在某处读到后缀运算符的优先级高于前缀运算符。 我试过这段代码: int i=4; System.out.println(--i+i++); 我预计输出为 7,因为我认为首先计算 i++ 然后计算
我从未见过 的用例预增和 后增量在实际代码中。我最常看到它们的唯一地方是拼图。 我的观点是,它引入了更多的困惑而不是有用。 这个 是否有任何实际用例场景? 这不能通过使用 += 来完成 y = x++
这个问题在这里已经有了答案: Why are these constructs using pre and post-increment undefined behavior? (14 个答案) 关
我是一名优秀的程序员,十分优秀!