C语言编译

C语言编译,c,C,如果编译并执行以下c代码,将输出什么 void main(){ int huge*p=(int huge*)0XC0563331; int huge*q=(int huge*)0xC2551341; *p=200; printf("%d",*q); } 假设您打算写以下内容: #include <stdio.h> int main(void){ int *p=(int *)0XC0563331; int *q=(int *)0xC2551341

如果编译并执行以下c代码,将输出什么

void main(){
   int huge*p=(int huge*)0XC0563331;
   int huge*q=(int huge*)0xC2551341;
   *p=200;
   printf("%d",*q);
}

假设您打算写以下内容:

#include <stdio.h>

int main(void){
   int *p=(int *)0XC0563331;
   int *q=(int *)0xC2551341;
   *p=200;
   printf("%d",*q);
   return 0;
}
然后,输出应该是从地址0xC2551341开始存储的任何整数值


我不确定int-thumg应该代表什么;更广泛的整数类型是long int和long-long int或long和long-long。请注意,这些更广泛的类型分别为输出使用%ld和%lld转换说明符。

why don;你不检查吗?可能是未定义的行为。然后发布错误消息并解决问题,而不是询问这样的问题。。。是的,坦白说,废话。伙计。一个不可编译的程序怎么会有输出!?还有它未定义的行为。是的,cad。这就是答案。谢谢int MARGE不是有效的AFAIK类型。MARGE与访问当前64Kb段之外地址的16位x86内存访问有关。。它看起来像是来自某个古老编译器的代码,几乎肯定会在现代编译器和操作系统上出现故障。