当我在 Windows 和 Linux 上运行下面编写的代码时,我会得到两者不同的输出。
我对两者都使用 gcc。当我在 Windows 上运行它时,我得到“Seek”作为输出,而在 Linux 上运行它时,我得到“Hide”作为输出。Windows 和 Linux 的内存布局有什么不同,还是有其他原因导致输出不同?
int main()
{
int a=0;
int *b=(int *)malloc(sizeof(int));
if(&a>b)
printf("Hide");
else
printf("Seek");
return 0;
}