代码如下,在32位环境下可以正常输出,但64位下只能输出空行。
问了一遍chat gpt,gpt说第一个输出结果在32位和64位都可以输出,只有第二个结果无法输出。解决方法是把int* ptr2 = (int*)((int)a+1)改成int* ptr2 = (int*)((uintptr_t)a + 1)。按照它的解决方法改完之后两个位置都可以输出。
我的疑惑是:
1.按照chat的说法,第一个输出结果无论是32位还是64位都可以输出,但为什么64位无法输出?
2.为什么更改ptr2之后在64位环境下两个结果都能输出?