在此示例中:
long long int x = 1<<38;
NSLog(@"Hello, World!, %qi", x);
Run Code Online (Sandbox Code Playgroud)
我得到了"警告:左移计数> =类型的宽度",x的值为零.
long long int的长度是8,所以我们应该能够向上移动63.
我很困惑......并且会"提前帮助".
我一直在查看 1950 年代“Pegasus”计算机的模拟,并遇到了“自我修改链接”一词。这是如何运作的?
我注意到println()会这样做,但我不能让它在printf()中工作.
在下面的片段中,前两个println给出RED和BLUE,然后printf崩溃.
class Jim {
public enum Colours {BLUE, RED}
static Colours xx = Colours.RED;
public static void main(String[] args) {
Colours fred = Colours.BLUE;
System.out.println(xx);
System.out.println(fred);
System.out.printf("%d, %d\n", fred, xx);
}
Run Code Online (Sandbox Code Playgroud)